Messages in this thread | | | Date | Tue, 14 Jul 2015 14:47:16 -0400 | From | Waiman Long <> | Subject | Re: [PATCH 6/7] locking/qspinlock: A fairer queued unfair lock |
| |
On 07/12/2015 04:21 AM, Peter Zijlstra wrote: > On Sat, Jul 11, 2015 at 04:36:57PM -0400, Waiman Long wrote: >> For a virtual guest with the qspinlock patch, a simple unfair byte lock >> will be used if PV spinlock is not configured in or the hypervisor >> isn't either KVM or Xen. > Why do we care about this case enough to add over 300 lines of code?
From my testing, I found the queued unfair lock to be superior to both the byte lock or the PV qspinlock when the VM is overcommitted. My current opinion is to use PV qspinlock for VMs that are not likely to run into the overcommited problem. For other VMs that are overcommitted, it will be better to use the queued unfair lock. However, this is a choice that the system administrators have to made. That is also the reason why I sent out another patch to add a KVM command line option to disable PV spinlock like what Xen already has. In this way, depending on how the kernel is booted, we can choose either PV qspinlock or queued unfair lock.
Cheers, Longman
| |