Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932747AbcKOGdd (ORCPT ); Tue, 15 Nov 2016 01:33:33 -0500 Received: from mx2.suse.de ([195.135.220.15]:41492 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755459AbcKOGdb (ORCPT ); Tue, 15 Nov 2016 01:33:31 -0500 Subject: Re: [RFC PATCH] xen/x86: Increase xen_e820_map to E820_X_MAX possible entries To: Alex Thorlton , linux-kernel@vger.kernel.org, Jan Beulich References: <1479168677-23633-1-git-send-email-athorlton@sgi.com> Cc: Russ Anderson , David Vrabel , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , x86@kernel.org, xen-devel@lists.xenproject.org From: Juergen Gross Message-ID: Date: Tue, 15 Nov 2016 07:33:26 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: <1479168677-23633-1-git-send-email-athorlton@sgi.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1829 Lines: 45 On 15/11/16 01:11, Alex Thorlton wrote: > Hey everyone, > > We're having problems with large systems hitting a BUG in > xen_memory_setup, due to extra e820 entries created in the > XENMEM_machine_memory_map callback. The change in the patch gets things > working, but Boris and I wanted to get opinions on whether or not this > is the appropriate/entire solution, which is why I've sent it as an RFC > for now. > > Boris pointed out to me that E820_X_MAX is only large when CONFIG_EFI=y, > which is a detail worth discussig. He proposed possibly adding > CONFIG_XEN to the conditions under which we set E820_X_MAX to a larger > value than E820MAX, since the Xen e820 table isn't bound by the > zero-page memory limitations. > > I do *slightly* question the use of E820_X_MAX here, only from a > cosmetic prospective, as I believe this macro is intended to describe > the maximum size of the extended e820 table, which, AFAIK, is not used > by the Xen HV. That being said, there isn't exactly a "more > appropriate" macro/variable to use, so this may not really be an issue. > > Any input on the patch, or the questions I've raised above is greatly > appreciated! While I think extending the e820 table is the right thing to do I'm questioning the assumptions here. Looking briefly through the Xen hypervisor sources I think it isn't yet ready for such large machines: the hypervisor's e820 map seems to be still limited to 128 e820 entries. Jan, did I overlook an EFI specific path extending this limitation? In case I'm right the Xen hypervisor should be prepared for a larger e820 map, but this won't help alone as there would still be additional entries for the IOAPICs created. So I think we need something like: #define E820_XEN_MAX (E820_X_MAX + MAX_IO_APICS) and use this for sizing xen_e820_map[]. Juergen