From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751878AbZHSCj4 (ORCPT ); Tue, 18 Aug 2009 22:39:56 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751587AbZHSCjz (ORCPT ); Tue, 18 Aug 2009 22:39:55 -0400 Received: from mx2.redhat.com ([66.187.237.31]:56122 "EHLO mx2.redhat.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1751477AbZHSCjy (ORCPT ); Tue, 18 Aug 2009 22:39:54 -0400 Message-ID: <4A8B6649.3080103@redhat.com> Date: Wed, 19 Aug 2009 10:41:13 +0800 From: Amerigo Wang User-Agent: Thunderbird 2.0.0.22 (X11/20090719) MIME-Version: 1.0 To: KAMEZAWA Hiroyuki CC: "Eric W. Biederman" , linux-kernel@vger.kernel.org, tony.luck@intel.com, linux-ia64@vger.kernel.org, linux-mm@kvack.org, Neil Horman , Andi Kleen , akpm@linux-foundation.org, bernhard.walle@gmx.de, Fenghua Yu , Ingo Molnar , Anton Vorontsov Subject: Re: [Patch 8/8] kexec: allow to shrink reserved memory References: <20090812081731.5757.25254.sendpatchset@localhost.localdomain> <20090812081906.5757.39417.sendpatchset@localhost.localdomain> <4A83893D.50707@redhat.com> <4A83CD84.8040609@redhat.com> <4A8927DD.6060209@redhat.com> <20090818092939.2efbe158.kamezawa.hiroyu@jp.fujitsu.com> <4A8A4ABB.70003@redhat.com> <20090818172552.779d0768.kamezawa.hiroyu@jp.fujitsu.com> <4A8A83F4.6010408@redhat.com> <20090819085703.ccf9992a.kamezawa.hiroyu@jp.fujitsu.com> In-Reply-To: <20090819085703.ccf9992a.kamezawa.hiroyu@jp.fujitsu.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org KAMEZAWA Hiroyuki wrote: > On Tue, 18 Aug 2009 18:35:32 +0800 > Amerigo Wang wrote: > > >> KAMEZAWA Hiroyuki wrote: >> >>> On Tue, 18 Aug 2009 14:31:23 +0800 >>> Amerigo Wang wrote: >>> >>> >>>>> It's hidden from the system before mem_init() ? >>>>> >>>>> >>>>> >>>> Not sure, but probably yes. It is reserved in setup_arch() which is >>>> before mm_init() which calls mem_init(). >>>> >>>> Do you have any advice to free that reserved memory after boot? :) >>>> >>>> >>>> >>> Let's see arch/x86/mm/init.c::free_initmem() >>> >>> Maybe it's all you want. >>> >>> - ClearPageReserved() >>> - init_page_count() >>> - free_page() >>> - totalram_pages++ >>> >>> >> Just FYI: calling ClearPageReserved() caused an oops: "Unable to handle >> paging request". >> >> I am trying to figure out why... >> >> > Hmm...then....memmap is not there. > pfn_valid() check will help you. What arch ? x86-64 ? > Hmm, yes, x86_64, but this code is arch-independent, I mean it should work or not work on all arch, no? So I am afraid we need to use other API to free it... Thanks.