From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753276AbYAYAlS (ORCPT ); Thu, 24 Jan 2008 19:41:18 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751407AbYAYAlJ (ORCPT ); Thu, 24 Jan 2008 19:41:09 -0500 Received: from terminus.zytor.com ([198.137.202.10]:41158 "EHLO terminus.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750714AbYAYAlI (ORCPT ); Thu, 24 Jan 2008 19:41:08 -0500 Message-ID: <47992F31.1070705@zytor.com> Date: Thu, 24 Jan 2008 16:37:05 -0800 From: "H. Peter Anvin" User-Agent: Thunderbird 2.0.0.9 (X11/20071115) MIME-Version: 1.0 To: Jeremy Fitzhardinge CC: Ian Campbell , Ingo Molnar , =?UTF-8?B?TWlrYSBQZW50dGlsw6Q=?= , linux-kernel@vger.kernel.org, Thomas Gleixner , Ingo Molnar , "Eric W. Biederman" Subject: Re: [PATCH] x86: Construct 32 bit boot time page tables in native format. References: <1200758937-22386-2-git-send-email-ijc@hellion.org.uk> <47939363.8040603@kolumbus.fi> <1200950633.15491.21.camel@cthulhu.hellion.org.uk> <479510CE.7010706@zytor.com> <1200951996.15491.28.camel@cthulhu.hellion.org.uk> <479551FD.5040801@zytor.com> <1201023401.5643.52.camel@localhost.localdomain> <479634A9.1090908@zytor.com> <1201031325.15491.66.camel@cthulhu.hellion.org.uk> <47964B7B.9000905@zytor.com> <20080122203611.GA12892@elte.hu> <1201121530.30671.15.camel@cthulhu.hellion.org.uk> <4797E487.8010108@goop.org> <1201167544.30671.64.camel@cthulhu.hellion.org.uk> <47990BDC.4070008@zytor.com> <479912B0.2080506@goop.org> <479913BA.8000506@zytor.com> <47991809.9060903@goop.org> <47991A6C.8060007@zytor.com> <479921F5.9020902@goop.org> <479922D0.3010708@zytor.com> <4799248F.9080404@goop.org> <47992710.2060108@zytor.com> <47992948.60308@goop.org> <47992A3B.7000607@zytor.com> <47992DD9.8060604@goop.org> In-Reply-To: <47992DD9.8060604@goop.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Jeremy Fitzhardinge wrote: > H. Peter Anvin wrote: >> No, if Xen wasn't an issue there wouldn't be anything to do for the >> PAE case at all (since the PGD is trivial.) >> >> Copying PMDs is more or less an analogous case of the !PAE case, once >> the allocation is already done. The allocation should be trivial >> though, since this would be a one-time thing. > > I think we're in vehement agreement here. In either case, its just a > matter of something like: > > memcpy(pgd, &pgd[USER_PTRS_PER_PGD], sizeof(pgd_t) * > KERNEL_PTRS_PER_PGD); > > which would work for both PAE and non-PAE. > >>> It would be easy enough to add some code on xen side to look for pmd >>> aliases when using/pinning a pagetable, and allocate'n'copy a new pmd >>> page as needed. That way the core code can ignore the issue. >> >> As much as I'd rather see Xen fixing this than having it continue to >> impact the kernel, I presume it will take some time to flush the >> broken hypervisors out? > > Sorry, I was unclear. I meant in the purely Xen-specific parts of the > kernel (arch/x86/xen). It wouldn't require a hypervisor change. > Oh, that makes that option much more viable and probably preferrable. -hpa