Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933043AbdCGS1Q (ORCPT ); Tue, 7 Mar 2017 13:27:16 -0500 Received: from smtp.ctxuk.citrix.com ([185.25.65.24]:60447 "EHLO SMTP.EU.CITRIX.COM" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932822AbdCGS1K (ORCPT ); Tue, 7 Mar 2017 13:27:10 -0500 X-IronPort-AV: E=Sophos;i="5.36,258,1486425600"; d="scan'208";a="42032871" Subject: Re: [Xen-devel] [PATCHv4 18/33] x86/xen: convert __xen_pgd_walk() and xen_cleanmfnmap() to support p4d To: Boris Ostrovsky , "Kirill A. Shutemov" , "Zhang, Xiong Y" References: <20170306135357.3124-1-kirill.shutemov@linux.intel.com> <20170306135357.3124-19-kirill.shutemov@linux.intel.com> <20170307130009.GA2154@node> <8bd7d5b7-7a22-a0a2-8eff-e909a1c6783e@oracle.com> CC: , Juergen Gross , Andi Kleen , Arnd Bergmann , , , , Andy Lutomirski , Dave Hansen , Ingo Molnar , "H. Peter Anvin" , Andrew Morton , xen-devel , Linus Torvalds , Thomas Gleixner , "Kirill A. Shutemov" From: Andrew Cooper Message-ID: <47f06f4a-ef29-5a77-c48b-43a91a8c9579@citrix.com> Date: Tue, 7 Mar 2017 18:26:05 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Icedove/45.6.0 MIME-Version: 1.0 In-Reply-To: <8bd7d5b7-7a22-a0a2-8eff-e909a1c6783e@oracle.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-ClientProxiedBy: AMSPEX02CAS01.citrite.net (10.69.22.112) To AMSPEX02CL02.citrite.net (10.69.22.126) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1507 Lines: 33 On 07/03/17 18:18, Boris Ostrovsky wrote: >>> Don't we need to pass vaddr down to all routines so that they select >>> appropriate tables? You seem to always be choosing the first one. >> IIUC, we clear whole page table subtree covered by one pgd entry. >> So, no, there's no need to pass vaddr down. Just pointer to page table >> entry is enough. >> >> But I know virtually nothing about Xen. Please re-check my reasoning. > Yes, we effectively remove the whole page table for vaddr so I guess > it's OK. > >> I would also appreciate help with getting x86 Xen code work with 5-level >> paging enabled. For now I make CONFIG_XEN dependent on !CONFIG_X86_5LEVEL. > Hmmm... that's a problem since this requires changes in the hypervisor > and even if/when these changes are made older version of hypervisor > still will not be able to run those guests. > > This affects only PV guests and there is a series under review that > provides clean code separation with CONFIG_XEN_PV but because, for > example, dom0 (Xen control domain) is PV this will significantly limit > availability of dom0-capable kernels (because I assume distros will want > to have CONFIG_X86_5LEVEL). Wasn't the plan to be able to automatically detect 4 vs 5 level support, and cope either way, so distros didn't have to ship two different builds of Linux? If so, all we need to do git things to compile sensibly, and have the PV entry code in Linux configure the rest of the kernel appropriately. (If not, please ignore me.) ~Andrew