作者dces4212 ()
看板LinuxDev
标题[问题] 核心模组使用 isolcpus
时间Sat Apr 18 17:50:07 2020
大家好,请问核心模组可以使用用 isolcpus 隔离开的 CPU 吗?
或是有什麽办法可以让核心模组使用独立(没有被排程器使用)的 CPU 呢?
还是説只能用 smp_call_function_single() 来达成这个目的呢?
但 smp_call...() 的注解有提到它做的事不能太久,可是我要做的事在某些情境下会..QQ
还是説可以使用 isolcpus 搭配 kthread_craeate_on_cpu() 来达成呢?
最近写的作业有涉及到效能分析,想做出更平顺的分析结果,
但最多只用到 taskset 去跑 usermode 的测试程式,想看看 kernel code 也
使用独立 CPU 的效果。
麻烦各位前辈指点了。感谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.160.64.55 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/LinuxDev/M.1587203412.A.28D.html
1F:推 aweilin: isolcpus可以用阿 你把系统设定只吃一个cpu,另外一个04/21 08:47
2F:→ aweilin: cpu就用指定的方式去跑,就可以自己决定哪些user space04/21 08:48
3F:→ aweilin: or kernel space 自己决定哪些要放过去cpu2跑04/21 08:49
4F:→ aweilin: cmdline=isolcpus=1, 那你的core0会拿来跑系统,core1空04/21 08:50
5F:→ aweilin: 下来,透过taskset可以做绑定user space,或是透过04/21 08:51
6F:→ aweilin: smp_affinity可以绑定isr,tasklet也类似。04/21 08:51
感谢大大回覆!所以我只要在kernelmode指定(使用queue_work_on 或是
kthread_create_on)使用被区隔开的vcore就可以直接使用了对吧?谢谢!
※ 编辑: dces4212 (118.168.108.147 台湾), 04/22/2020 05:45:58
※ 编辑: dces4212 (118.168.108.147 台湾), 04/22/2020 05:51:38
※ 编辑: dces4212 (118.168.108.147 台湾), 04/22/2020 05:52:15
7F:→ aweilin: 差不多! 不难,Google一下就可以知道细节 05/01 13:41
8F:→ dces4212: 这样我懂了 感谢 05/03 05:27