edA*_*a-y 4 linux scheduled-tasks linux-kernel
有没有办法从正常调度中排除处理器?
也就是说,使用sched_setaffinityI 可以指示线程应该在哪个处理器上运行,但我正在寻找相反的情况。也就是说,我想从正常调度中排除给定的处理器,这样只有在那里明确调度的进程才能在那里运行。
我也知道在启动期间我可以限制 init 进程使用的处理器,因此所有继承的进程。然而,我希望有一个比这更动态的解决方案——我可以在启动后改变一些东西。
请注意,我希望调度线程,而不仅仅是高级进程(这在某些情况下可能会有所不同)。
cgroups,或者具体来说,cgroups 基础设施的 cpuset 部分是在 Linux 中实现的方式。请参阅http://www.kernel.org/doc/Documentation/cgroups/cpusets.txt 中的第 1.4 节“独占 cpuset” 。
再说一次,如果正如您在评论中所说的那样,您的系统没有启用 cpuset,那么您就不走运了。
此外,您所要求的可能有点不正统;也许如果您要解释您实际尝试实现的目标,人们会为您指出替代解决方案。