linux c: "sched_setaffinity" 函数的常见用例是什么?我觉得没用

linux c: what's the common use case of "sched_setaffinity" function? I don't find it useful

操作系统能够确定如何将差异 processes/threads 安排到不同的 cpu 核心上,os 调度程序可以很好地完成这项工作。那么我们什么时候真正需要为进程调用 sched_setafficity() 或为 pthread 调用 pthread_setaffinity_np() 之类的函数?

它似乎无法显着提高任何性能,如果可以,那么我认为我们需要重新编写linux进程调度程序对吗?

只是想知道我们什么时候需要在我的应用程序中调用这些函数? 谢谢

它在一些与 DSP(数字信号处理)相关的计算密集型实时过程中非常有帮助。 假设一个实时 DSP 相关进程 PROCESS0 运行ning 在核心 CPU0 上。由于某些调度算法 CPU0 需要发生抢占,因此 process0 必须 运行 在另一个 CPU 上。这种实时进程的切换是一种开销。因此有亲和力。我们指示内核 process0 应该 运行 on CPU0.