]> git.baikalelectronics.ru Git - kernel.git/commit
xen/x86: avoid updating TLS descriptors if they haven't changed
authorDavid Vrabel <david.vrabel@citrix.com>
Mon, 9 Jul 2012 10:39:08 +0000 (11:39 +0100)
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thu, 19 Jul 2012 19:51:57 +0000 (15:51 -0400)
commitc16ed73ed7c45c4d44eb71c8b1c31e52f1a9dbce
tree6a1e9df672d3aa8794bf197037be01ef1b34383c
parent01780e369ac1f38d1b3032daba69f979ac2f4631
xen/x86: avoid updating TLS descriptors if they haven't changed

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>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
arch/x86/xen/enlighten.c