From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751397AbVIVHhT (ORCPT ); Thu, 22 Sep 2005 03:37:19 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751431AbVIVHhT (ORCPT ); Thu, 22 Sep 2005 03:37:19 -0400 Received: from mailout1.vmware.com ([65.113.40.130]:16133 "EHLO mailout1.vmware.com") by vger.kernel.org with ESMTP id S1751397AbVIVHhR (ORCPT ); Thu, 22 Sep 2005 03:37:17 -0400 Date: Thu, 22 Sep 2005 00:35:29 -0700 Message-Id: <200509220735.j8M7ZT6b000921@zach-dev.vmware.com> Subject: [PATCH 0/3] GDT virtualization performance From: Zachary Amsden To: Linus Torvalds , Jeffrey Sheldon , Ole Agesen , Shai Fultheim , Andrew Morton , Jack Lo , Ingo Molnar , Linux Kernel Mailing List , Virtualization Mailing List , Chris Wright , Martin Bligh , Pratap Subrahmanyam , Christopher Li , "H. Peter Anvin" , Zwane Mwaikambo , Andi Kleen , Zachary Amsden X-OriginalArrivalTime: 22 Sep 2005 07:36:22.0620 (UTC) FILETIME=[5480B9C0:01C5BF48] Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org 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