Re: [Xen-devel] Performance overhead of paravirt_ops on nativeidentified

From: Jan Beulich
Date: Fri May 15 2009 - 04:10:44 EST


>>> Jeremy Fitzhardinge <jeremy@xxxxxxxx> 14.05.09 19:45 >>>
>Jan Beulich wrote:
>> Wouldn't a third solution be to use ticket spinlocks everywhere, i.e. eliminate
>> the current indirection, and replace it by an indirection for just the contention
>> case? As I view it, the problem for Xen aren't really the ticket locks by
>> themselves, but rather the extra spinning involved, which is of concern only
>> if a lock is contended. We're using ticket locks quite happily in our kernels,
>> with directed instead of global wakeup from the unlock path.
>Do you have a patch to illustrate what you mean? How do you keep track
>of the target vcpu for the directed wakeup? Are you using the
>event-poll mechanism to block?

A patch for the pv-ops kernel would require some time. What I can give you
right away - just for reference - are the sources we currently use in our kernel:
attached.

Jan

Attachment: spinlock.h
Description: Binary data

Attachment: spinlock.c
Description: Binary data