Re: [PATCH RFC 0/2] kvm: Improving directed yield in PLE handler

From: Raghavendra K T
Date: Wed Jul 11 2012 - 08:07:28 EST


On 07/11/2012 05:25 PM, Christian Borntraeger wrote:
On 11/07/12 13:51, Raghavendra K T wrote:
Almost all s390 kernels use diag9c (directed yield to a given guest cpu) for spinlocks, though.

Perhaps x86 should copy this.

See arch/s390/lib/spinlock.c
The basic idea is using several heuristics:
- loop for a given amount of loops
- check if the lock holder is currently scheduled by the hypervisor
(smp_vcpu_scheduled, which uses the sigp sense running instruction)
Dont know if such thing is available for x86. It must be a lot cheaper
than a guest exit to be useful

Unfortunately we do not have information on lock-holder.

That would be an independent patch and requires guest changes.


Yes, AFAI think, there are two options:
(1) extend lock and use spare bit in ticketlock indicate lock is held
(2) use percpu list entry.



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/