From patchwork Thu Oct 10 20:20:38 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhang Yanfei X-Patchwork-Id: 3018491 Return-Path: X-Original-To: patchwork-linux-acpi@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id A232F9F245 for ; Thu, 10 Oct 2013 20:21:18 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 37A3A202BE for ; Thu, 10 Oct 2013 20:21:17 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id E49352014A for ; Thu, 10 Oct 2013 20:21:13 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756842Ab3JJUVM (ORCPT ); Thu, 10 Oct 2013 16:21:12 -0400 Received: from mail-pb0-f43.google.com ([209.85.160.43]:59650 "EHLO mail-pb0-f43.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756028Ab3JJUVL (ORCPT ); Thu, 10 Oct 2013 16:21:11 -0400 Received: by mail-pb0-f43.google.com with SMTP id md4so3052397pbc.30 for ; Thu, 10 Oct 2013 13:21:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=F3xK7+B+viSnRHmQ0vgRgdkGxZ5CqiuXe1LaqTjlkQQ=; b=WVcO/U6boQIw3fJq/3OM5yyMCekWxsXSMoqL62hHwF8xzHMcdVEKZCXU0c7d85kIb1 lJSD4W7Gz+SYdH9dYcNUdJxOdVrDj1zgMjYflfbvGr+cA/l6bSd+o0Vhpvzbrulj6Rte Ukb4DmjliNW0emTQv3ptjKErqN63LeOnrxmV4ebtMVHuzyRVvV16pEvJi5YORqYYuMH1 zSK4fnfuJBd5gylo1fCE0fDNX3S9AGVKj7NKmJz4SYVLGVDEbwTXd0DI7iKMzq+LHYdw reSLS5lkTvOkkcfMAnsI+uIeQYvgYpcS+WMs5dTTdCTGfVH68jrvAQdSI666NIGDrHj7 6qoQ== X-Received: by 10.68.197.200 with SMTP id iw8mr4221863pbc.197.1381436470949; Thu, 10 Oct 2013 13:21:10 -0700 (PDT) Received: from localhost.localdomain ([121.225.151.193]) by mx.google.com with ESMTPSA id fl3sm64746678pad.10.1969.12.31.16.00.00 (version=TLSv1 cipher=RC4-SHA bits=128/128); Thu, 10 Oct 2013 13:21:10 -0700 (PDT) Message-ID: <52570C16.5030803@gmail.com> Date: Fri, 11 Oct 2013 04:20:38 +0800 From: Zhang Yanfei User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.5) Gecko/20120607 Thunderbird/10.0.5 MIME-Version: 1.0 To: Andrew Morton , "Rafael J . Wysocki" , lenb@kernel.org, Thomas Gleixner , mingo@elte.hu, "H. Peter Anvin" , Tejun Heo , Toshi Kani , Wanpeng Li , Thomas Renninger , Yinghai Lu , Jiang Liu , Wen Congyang , Lai Jiangshan , isimatu.yasuaki@jp.fujitsu.com, izumi.taku@jp.fujitsu.com, Mel Gorman , mina86@mina86.com, Minchan Kim , gong.chen@linux.intel.com, vasilis.liaskovitis@profitbricks.com, lwoodman@redhat.com, Rik van Riel , jweiner@redhat.com, prarit@redhat.com CC: "x86@kernel.org" , linux-doc@vger.kernel.org, "linux-kernel@vger.kernel.org" , Linux MM , linux-acpi@vger.kernel.org, imtangchen@gmail.com, Zhang Yanfei , Tang Chen Subject: [PATCH part1 v7 5/6] x86, acpi, crash, kdump: Do reserve_crashkernel() after SRAT is parsed. References: <52570A6E.2010806@gmail.com> In-Reply-To: <52570A6E.2010806@gmail.com> Sender: linux-acpi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-acpi@vger.kernel.org X-Spam-Status: No, score=-7.0 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, T_DKIM_INVALID, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Tang Chen Memory reserved for crashkernel could be large. So we should not allocate this memory bottom up from the end of kernel image. When SRAT is parsed, we will be able to know whihc memory is hotpluggable, and we can avoid allocating this memory for the kernel. So reorder reserve_crashkernel() after SRAT is parsed. Acked-by: Tejun Heo Acked-by: Toshi Kani Signed-off-by: Tang Chen Signed-off-by: Zhang Yanfei --- arch/x86/kernel/setup.c | 9 +++++++-- 1 files changed, 7 insertions(+), 2 deletions(-) diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c index f0de629..b5e350d 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c @@ -1120,8 +1120,6 @@ void __init setup_arch(char **cmdline_p) acpi_initrd_override((void *)initrd_start, initrd_end - initrd_start); #endif - reserve_crashkernel(); - vsmp_init(); io_delay_init(); @@ -1134,6 +1132,13 @@ void __init setup_arch(char **cmdline_p) early_acpi_boot_init(); initmem_init(); + + /* + * Reserve memory for crash kernel after SRAT is parsed so that it + * won't consume hotpluggable memory. + */ + reserve_crashkernel(); + memblock_find_dma_reserve(); #ifdef CONFIG_KVM_GUEST