Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752366AbdI0PEF (ORCPT ); Wed, 27 Sep 2017 11:04:05 -0400 Received: from aserp1040.oracle.com ([141.146.126.69]:36407 "EHLO aserp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751907AbdI0PED (ORCPT ); Wed, 27 Sep 2017 11:04:03 -0400 Subject: Re: [PATCH v2] Call xen_cleanhighmap() with 4MB aligned for page tables mapping To: Juergen Gross , Zhenzhong Duan , mingo@redhat.com, tglx@linutronix.de, hpa@zytor.com References: <85bd42d5-b0d2-40f5-81a9-14cb51ec4503@default> <44ebc914-d1a3-06ac-9ec5-b866d5f04e0a@oracle.com> <9faf8d7b-227f-2ecd-26e6-44ae4270d469@suse.com> <30c5a1f0-4425-6c8b-5017-a78710c0bd72@suse.com> Cc: x86@kernel.org, xen-devel@lists.xenproject.org, srinivas.eeda@oracle.com, joe.jin@oracle.com, linux-kernel@vger.kernel.org From: Boris Ostrovsky Message-ID: <64892ee3-4b6d-acd6-dbf5-dd1e84b25ce3@oracle.com> Date: Wed, 27 Sep 2017 11:02:33 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <30c5a1f0-4425-6c8b-5017-a78710c0bd72@suse.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Source-IP: userv0021.oracle.com [156.151.31.71] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1547 Lines: 35 On 09/27/2017 10:56 AM, Juergen Gross wrote: > On 27/09/17 16:48, Boris Ostrovsky wrote: >> On 09/27/2017 10:33 AM, Juergen Gross wrote: >>> On 27/09/17 15:38, Boris Ostrovsky wrote: >>>> On 09/27/2017 05:43 AM, Juergen Gross wrote: >>>>> On 27/09/17 11:41, Zhenzhong Duan wrote: >>>>>> When bootup a PVM guest with large memory(Ex.240GB), XEN provided initial >>>>>> mapping overlaps with kernel module virtual space. When mapping in this space >>>>>> is cleared by xen_cleanhighmap(), in certain case there could be an 2MB mapping >>>>>> left. This is due to XEN initialize 4MB aligned mapping but xen_cleanhighmap() >>>>>> finish at 2MB boundary. >>>> Does this mapping need to be 4MB-aligned? >>> I guess you are questioning the alignment of addr to be 4MB? >>> In this case you are right: the end of the mapping is 4MB aligned, as >>> correctly stated in the comment added. >> Yes, and my question is why does it need to be aligned on 4MB. Doesn't >> 2MB alignment suffice? > I believe this has historical reasons. :-) > > For this patch the answer doesn't matter, as Xen does it this way and > the kernel has to cope with the situation. > > This interface is specified in include/xen/interface/xen.h in the > comment section just before struct start_info: > > /* > * Start-of-day memory layout > * > * 1. The domain is started within contiguous virtual-memory region. > * 2. The contiguous region begins and ends on an aligned 4MB boundary. Ah, this is what I was really looking for --- that 4MB alignment is part of the ABI. -boris