From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754344AbbCaNX1 (ORCPT ); Tue, 31 Mar 2015 09:23:27 -0400 Received: from mail-wi0-f170.google.com ([209.85.212.170]:35777 "EHLO mail-wi0-f170.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752280AbbCaNXS (ORCPT ); Tue, 31 Mar 2015 09:23:18 -0400 Message-ID: <551A9FC2.1030005@plexistor.com> Date: Tue, 31 Mar 2015 16:23:14 +0300 From: Boaz Harrosh User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: Christoph Hellwig CC: linux-nvdimm@ml01.01.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, x86@kernel.org, ross.zwisler@linux.intel.com, axboe@kernel.dk Subject: [PATCH 1/6] SQUASHME: Don't let e820_PMEM sections References: <1427358764-6126-1-git-send-email-hch@lst.de> <55143A8B.2060304@plexistor.com> <20150331092526.GA25958@lst.de> <551A9EB3.8000605@plexistor.com> In-Reply-To: <551A9EB3.8000605@plexistor.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Christoph Hellwig If we need a NUMA crossing a mids a contiguous memory range we split the range at NUMA boundary so to produce two pmemX devices. We do not like 2 NUMA IDs at the same device. TODO: What happens with real type-12 NvDIMM the BIOS splits these ranges? Christoph I please need this patch for now. I have booting problems on some machines, when a contiguous pmem range crosses a NUMA boundary. Signed-off-by: Boaz Harrosh --- arch/x86/kernel/e820.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c index 4bd525a..a098c74 100644 --- a/arch/x86/kernel/e820.c +++ b/arch/x86/kernel/e820.c @@ -346,7 +346,7 @@ int __init sanitize_e820_map(struct e820entry *biosmap, int max_nr_map, * continue building up new bios map based on this * information */ - if (current_type != last_type) { + if (current_type != last_type || current_type == E820_PRAM) { if (last_type != 0) { new_bios[new_bios_entry].size = change_point[chgidx]->addr - last_addr; -- 1.9.3