【问题标题】:Disabling the scheduler to reduce the cpu time on spinlock禁用调度程序以减少自旋锁上的 cpu 时间
【发布时间】:2012-04-17 02:23:07
【问题描述】:

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

我想禁止调度程序抢占,直到进程解锁资源。这将减少自旋锁上的 cpu 时间。

以上如何实现??即

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

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

如有错误请指正..

提前谢谢..

【问题讨论】:

  • @Basilevs :我的意思是先发制人..

标签: linux scheduler kvm spinlock


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-17
    • 1970-01-01
    • 2021-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-27
    相关资源
    最近更新 更多