禁用调度程序以减少螺旋锁上的CPU时间

时间:2012-04-17 02:23:07

标签: linux scheduler kvm spinlock

在linux中,在kvm环境中,当VM中的进程锁定某些资源并被抢占时,需要该锁定资源的VM的其他进程将花费时间在spinlock上。当分配处理器时,该过程将解锁资源。

我想禁用预先清空的调度程序,直到该进程解锁资源。这会减少自旋锁上的cpu时间。

如何实现上述目标?即。

  1. 如何查明VM中的进程是否已锁定某些资源?

  2. 那怎么样 通知调度程序在资源解锁之前不要先抢占进程?

  3. 如果我在任何地方错了,请纠正我。

    提前致谢..

1 个答案:

答案 0 :(得分:0)

使用spinlock_irq_save()调用。它会禁用中断并抢占并以原子方式锁定自旋锁。 有关用例,请参阅http://www.kernel.org/doc/Documentation/spinlocks.txt