Re: [PATCH] x86/xen: avoid updating TLS descriptors if they haven't changed

David Vrabel
2012-06-14T18:05:37Z

On 14/06/12 17:49, Konrad Rzeszutek Wilk wrote:
> On Thu, Jun 14, 2012 at 03:52:19PM +0100, David Vrabel wrote:
>> On 07/06/12 18:01, David Vrabel wrote:
>>> From: David Vrabel <david.vrabel@citrix.com>
>>>
>>> When switching tasks in a Xen PV guest, avoid updating the TLS
>>> descriptors if they haven't changed. This improves the speed of
>>> context switches by almost 10% as much of the time the descriptors are
>>> the same or only one is different.
>>>
>>> The descriptors written into the GDT by Xen are modified from the
>>> values passed in the update_descriptor hypercall so we keep shadow
>>> copies of the three TLS descriptors to compare against.
>>>
>>> lmbench3 test Before After Improvement
>>> --------------------------------------------
>>> lat_ctx -s 32 24 7.19 6.52 9%
>>> lat_pipe 12.56 11.66 7%
>>>
>>> Signed-off-by: David Vrabel <david.vrabel@citrix.com>
>>> ---
>>> I note that the comment in asm/desc_defs.h says the 'a' and 'b' fields
>>> in desc_struct as deprecated but there seems to be no suitable
>>> alternatives.
>>
>> ping? Any opinion on this patch from the x86 side? If it's okay can we
>> get an ack so Konrad can take the patch via his tree.
>
> It breaks my all my bootup tests - so NACK until at least that is fixed.
> I think I sent you the whole serial log - is there something else that would help
> narrow it down?

You're mixing up this patch with "xen/mm: do direct hypercall in
xen_set_pte() if batching is unavailable" which is broken on 64-bit and
I am looking into it.

David