0

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

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

如何实现上述?IE

  1. 如何找出VM中的进程是否锁定了某些资源?

  2. 那么如何通知调度器在资源解锁之前不要抢占进程呢?

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

提前致谢..

4

1 回答 1

0

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

于 2012-04-17T02:48:18.647 回答