[PATCH 0/3] GDT virtualization performance

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Three patches to clean up GDT access in Linux to make it friendly to
virtualization environments.  The basic problem is that the GDT must
be write protected, which causes spurious overhead when the GDT lies
on the same page as other data.  This problem exists both for VMware
and Xen; Xen actually requires page isolation, so we have implemented
the most general and compatible solution.

Patch 1 deprecates a broken GDT reference;
Patch 2 adds a per-cpu GDT accessor;
Patch 3 moves the GDT out of the per-cpu area and makes it page
 padded and page aligned.

The GDTs for secondary processors are allocated dynamically to avoid
bloating kernel static data with GDTs for not-present processors.

This could be adapted to drop and reallocate GDTs for CPU hotplug
if desired, although the space savings (1 page) are dubious, so
I have not implemented that at this time.

Testing: 4 way SMP boot-halts, kernel compiles, stress.

Zachary Amsden <zach@xxxxxxxxxx>

[Index of Archives]     [KVM Development]     [Libvirt Development]     [Libvirt Users]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux