gpt4 book ai didi

linux - 在 ARM 的其他 cpu 内核中运行内核函数

转载 作者:太空狗 更新时间:2023-10-29 11:17:34 25 4
gpt4 key购买 nike

我正在尝试打印一些函数名称和运行该函数的 CPU ID。使用 linux-4.1 内核,当我打印 CPU ID 时,它始终为零。我正在使用双核板。我只是想展示一些内核函数也可以在其他 CPU 上运行。有什么办法可以切换 CPU 并将 cpu id 打印为 1。我正在使用 armv7 开发板。 示例:

 0)   0.073 us    |        mutex_unlock();
3) 0.124 us | iov_iter_fault_in_readable();
1) 0.105 us | fget_light();
3) | ext3_write_begin() {
0) 0.071 us | put_pid();
3) | ext3_writepage_trans_blocks() {
3) 0.043 us | journal_blocks_per_page();
1) | sock_poll() {
0) 3.126 us | }
1) | unix_poll() {
3) 0.390 us | }
0) 6.007 us | }
3) | grab_cache_page_write_begin() {
1) | __pollwait() {
3) | find_lock_page() {
0) 0.077 us | fput();
3) 0.074 us | find_get_page();
1) | add_wait_queue() {
1) 0.081 us | _raw_spin_lock_irqsave();

正如我们在第一列中看到的那样,数字发生了变化,我如何通过修改内核源代码来实现这一点。

最佳答案

Is there any way to switch the CPU

sched_setaffinity用户空间函数使用sched_setaffinity 系统调用。

通过查看sched_setaffinity系统调用的实现,在内核空间中使用了一个同名的内核函数。
http://lxr.free-electrons.com/source/kernel/sched/core.c#L4685

这里内核中使用了sched_setaffinity。
http://lxr.free-electrons.com/source/kernel/trace/trace_hwlat.c#L269

关于linux - 在 ARM 的其他 cpu 内核中运行内核函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41894943/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com