如何在Linux内核模块中获得可用的CPU集?

Tab*_*lly 2 linux cpu linux-kernel

我想用kthread_create()/ kthread_bind()为每个CPU启动一个内核线程.但是,我不能为我的生活弄清楚如何查询可用的CPU数量.我确实找到了CPU_SET手册页,但这也没有帮助.

有什么想法吗?

sea*_*der 5

您可以使用num_online_cpus()来获取可用的cpus数.如果使用与系统中cpus数量不同的maxcpus设置引导系统,则可能与nr_cpu_ids之类的内容不同.