我知道可以使用sched_setaffinity将进程(父进程)固定到核心,然后分叉进程继承亲和性并且也固定在同一核心上.但是,我不想永远将它们固定在同一个核心上.理想情况下,我想要的是让他们在同一个cpu上保持在一起,即如果父调度程序迁移了父调度,则子节点应该跟随父节点并迁移到与父节点相同的cpu.
一种可能的方法是拥有一个共享变量,其中parent定期更新其当前cpu.然后,子节点可以定期查找此变量,并使用sched_setaffinity迁移到与父节点相同的cpu.但是,这看起来有点hacky,并且可能涉及它们在不同的cpu上运行的时段.有没有更好的方法来实现这一目
最佳答案
是否可以在线程而不是在自己的进程中运行子进程?