From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753106AbbDFTTH (ORCPT ); Mon, 6 Apr 2015 15:19:07 -0400 Received: from g2t2353.austin.hp.com ([15.217.128.52]:56157 "EHLO g2t2353.austin.hp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753060AbbDFTTF (ORCPT ); Mon, 6 Apr 2015 15:19:05 -0400 From: Toshi Kani To: mingo@redhat.com, hpa@zytor.com, tglx@linutronix.de Cc: linux-nvdimm@ml01.01.org, linux-fsdevel@vger.kernel.org, x86@kernel.org, linux-kernel@vger.kernel.org, hch@lst.de, boaz@plexistor.com, Yinghai Lu , Toshi Kani Subject: [PATCH v2] x86: Revert E820_PRAM change in e820_end_pfn() Date: Mon, 6 Apr 2015 13:00:39 -0600 Message-Id: <1428346839-11997-1-git-send-email-toshi.kani@hp.com> X-Mailer: git-send-email 1.9.3 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 'Commit ec776ef6bbe17 ("x86/mm: Add support for the non-standard protected e820 type")' added E820_PRAM ranges, which do not have have struct-page. Therefore, there is no need to update max_pfn to cover the E820_PRAM ranges. Revert the change made to account E820_PRAM as RAM in e820.c in the commit. Signed-off-by: Yinghai Lu Signed-off-by: Toshi Kani Tested-by: Christoph Hellwig --- The patch is based on the tip branch. --- arch/x86/kernel/e820.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c index e2ce85d..e09a346 100644 --- a/arch/x86/kernel/e820.c +++ b/arch/x86/kernel/e820.c @@ -752,7 +752,7 @@ u64 __init early_reserve_e820(u64 size, u64 align) /* * Find the highest page frame number we have available */ -static unsigned long __init e820_end_pfn(unsigned long limit_pfn) +static unsigned long __init e820_end_pfn(unsigned long limit_pfn, unsigned type) { int i; unsigned long last_pfn = 0; @@ -763,11 +763,7 @@ static unsigned long __init e820_end_pfn(unsigned long limit_pfn) unsigned long start_pfn; unsigned long end_pfn; - /* - * Persistent memory is accounted as ram for purposes of - * establishing max_pfn and mem_map. - */ - if (ei->type != E820_RAM && ei->type != E820_PRAM) + if (ei->type != type) continue; start_pfn = ei->addr >> PAGE_SHIFT; @@ -792,12 +788,12 @@ static unsigned long __init e820_end_pfn(unsigned long limit_pfn) } unsigned long __init e820_end_of_ram_pfn(void) { - return e820_end_pfn(MAX_ARCH_PFN); + return e820_end_pfn(MAX_ARCH_PFN, E820_RAM); } unsigned long __init e820_end_of_low_ram_pfn(void) { - return e820_end_pfn(1UL << (32-PAGE_SHIFT)); + return e820_end_pfn(1UL<<(32 - PAGE_SHIFT), E820_RAM); } static void early_panic(char *msg)