From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753586Ab0J0RnF (ORCPT ); Wed, 27 Oct 2010 13:43:05 -0400 Received: from mga11.intel.com ([192.55.52.93]:4652 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753495Ab0J0RnC (ORCPT ); Wed, 27 Oct 2010 13:43:02 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.58,247,1286175600"; d="scan'208";a="620878433" Message-ID: <4CC8649F.5060408@linux.intel.com> Date: Wed, 27 Oct 2010 10:42:55 -0700 From: "H. Peter Anvin" User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.7) Gecko/20100713 Thunderbird/3.1.1 MIME-Version: 1.0 To: Jeremy Fitzhardinge CC: Borislav Petkov , Ian Campbell , linux-kernel@vger.kernel.org, x86@kernel.org Subject: Re: [PATCH] x86: use pgd accessors when cloning a pgd range. References: <1288169413-29065-1-git-send-email-ian.campbell@citrix.com> <20101027104020.GA16954@a1.tnic> <4CC85839.4000507@goop.org> <4CC85EE6.7030608@linux.intel.com> <4CC861F9.8080200@goop.org> In-Reply-To: <4CC861F9.8080200@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 On 10/27/2010 10:31 AM, Jeremy Fitzhardinge wrote: > On 10/27/2010 10:18 AM, H. Peter Anvin wrote: >> On 10/27/2010 9:50 AM, Jeremy Fitzhardinge wrote: >>> >>> This never used to be a problem. Perhaps we can change how >>> clone_pgd_range is used at boot time to avoid it in the Xen case (since >>> we don't care about the secondary pagetable)? >>> >> >> Xen shouldn't have any users of this, since it's used for low-level >> operations like SMP bootstrap, suspend to RAM, reboot and low-level >> BIOS functionality. >> > > Right, but it is being called smack in the middle of setup_arch(). It > looks like they could be hidden away in > native_pagetable_setup_start/done though. > This is what makes me absolutely hate paravirt with a passion... "let's hid things away in and make it absolutely impossible to either follow the code flow or figure out what the intended semantics are supposed to be." (Let not even get me started on how ill-defined the semantics of some of the paravirt operations are.) In this case, at the most you need a single flag of state... or you could even just ignore this low-level data structure that you will never use in the first place. Ian's message just mentioned "a failure" and never described in any way what kind of "failure" it was. -hpa