0

Linux では、kvm 環境で、VM 内のプロセスがリソースをロックして横取りされると、そのロックされたリソースを必要とする VM の他のプロセスがスピンロックに時間を費やします。また、プロセスは、PROCESSOR が割り当てられると、リソースのロックを解除します。

プロセスがリソースのロックを解除するまで、スケジューラのプリエンプティを無効にしたいと考えています。これにより、スピンロックのCPU時間が短縮されます。

上記を達成する方法?? すなわち

  1. VM のプロセスがリソースをロックしているかどうかを確認する方法は?

  2. 次に、リソースのロックが解除されるまでプロセスを先取りしないようにスケジューラに通知する方法は?

どこか間違っている場合は修正してください..

前もって感謝します..

4

1 に答える 1

0

spinlock_irq_save() 呼び出しを使用します。割り込みとプリエンプションを無効にし、スピンロックをアトミックにロックします。使用例については、 http://www.kernel.org/doc/Documentation/spinlocks.txtを参照してください。

于 2012-04-17T02:48:18.647 に答える