From: Jiang Liu <liuj97@gmail.com>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: xen-devel@lists.xensource.com,
Jeremy Fitzhardinge <jeremy@goop.org>,
x86@kernel.org, Aurelien Jacquiot <a-jacquiot@ti.com>,
Catalin Marinas <catalin.marinas@arm.com>,
Heiko Carstens <heiko.carstens@de.ibm.com>,
linux-snps-arc@vger.kernel.org,
Tang Chen <tangchen@cn.fujitsu.com>,
David Howells <dhowells@redhat.com>,
Chen Liqin <liqin.chen@sunplusct.com>,
Paul Mackerras <paulus@samba.org>,
"H. Peter Anvin" <hpa@zytor.com>,
Guan Xuetao <gxt@mprc.pku.edu.cn>,
Sam Ravnborg <sam@ravnborg.org>, Lennox Wu <lennox.wu@gmail.com>,
Maciej Rutecki <maciej.rutecki@gmail.com>,
Jonas Bonn <jonas@southpole.se>, Mark Salter <msalter@redhat.com>,
Michel Lespinasse <walken@google.com>,
Mikael Starvik <starvik@axis.com>,
Yoshinori Sato <ysato@users.sourceforge.jp>,
Helge Deller <deller@gmx.de>,
Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
"James E.J. Bottomley" <jejb@parisc-linux.org>
Subject: Re: [PATCH v2, part1 01/29] mm: introduce common help functions to deal with reserved/managed pages
Date: Tue, 12 Mar 2013 06:17:43 +0800 [thread overview]
Message-ID: <513E5807.2060303@gmail.com> (raw)
In-Reply-To: <CAMuHMdXLEkKVfhPu-MfBE37SuHDoVtrEG92PZq2-nD3xw6GNQw@mail.gmail.com>
Hi Geert,
Thanks for review!
On 03/10/2013 05:20 PM, Geert Uytterhoeven wrote:
> On Sun, Mar 10, 2013 at 7:26 AM, Jiang Liu <liuj97@gmail.com> wrote:
>> Code to deal with reserved/managed pages are duplicated by many
>> architectures, so introduce common help functions to reduce duplicated
>> code. These common help functions will also be used to concentrate code
>> to modify totalram_pages and zone->managed_pages, which makes the code
>> much more clear.
>>
>> Signed-off-by: Jiang Liu <jiang.liu@huawei.com>
>
> I have a few minor comments (see below), but apart from that:
> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
>
>> ---
>> include/linux/mm.h | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
>> mm/page_alloc.c | 20 ++++++++++++++++++++
>> 2 files changed, 68 insertions(+)
>>
>> diff --git a/include/linux/mm.h b/include/linux/mm.h
>> index 7acc9dc..d75c14b 100644
>> --- a/include/linux/mm.h
>> +++ b/include/linux/mm.h
>> @@ -1295,6 +1295,54 @@ extern void free_area_init_node(int nid, unsigned long * zones_size,
>> unsigned long zone_start_pfn, unsigned long *zholes_size);
>> extern void free_initmem(void);
>>
>> +/*
>> + * Free reserved pages within range [PAGE_ALIGN(start), end & PAGE_MASK)
>> + * into the buddy system. The freed pages will be poisoned with pattern
>> + * "poison" if it's non-zero.
>
> What if you want to poison with zero?
> As poison is a full int, but memset only uses the least-significant
> byte, you can
> change it to poison if it's positive (i.e. >= 0)?
Good point, ARM64 does poison memory with 0. Will implement that way in next version.
>
>> +/*
>> + * Default method to free all the __init memory into the buddy system.
>> + * The freed pages will be poisoned with pattern "poison" if it is
>> + * non-zero. Return pages freed into the buddy system.
>> + */
>> +static inline unsigned long free_initmem_default(int poison)
>> +{
>> + extern char __init_begin[], __init_end[];
>> +
>> + return free_reserved_area(PAGE_ALIGN((unsigned long)&__init_begin) ,
>> + ((unsigned long)&__init_end) & PAGE_MASK,
>
> The "PAGE_ALIGN(...)" and "& PAGE_MASK" are superfluous, as
> free_reserved_area() already does that.
Will remove the redundant ops next version.
>
>> + poison, "unused kernel");
>> +}
>> +
>
>> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
>> index 8fcced7..0fadb09 100644
>> --- a/mm/page_alloc.c
>> +++ b/mm/page_alloc.c
>> @@ -5113,6 +5113,26 @@ early_param("movablecore", cmdline_parse_movablecore);
>>
>> #endif /* CONFIG_HAVE_MEMBLOCK_NODE_MAP */
>>
>> +unsigned long free_reserved_area(unsigned long start, unsigned long end,
>> + int poison, char *s)
>> +{
>
>> + if (pages && s)
>> + pr_info("Freeing %s memory: %ldK (%lx - %lx)\n",
>
> "%luKiB (0x%lx - 0x%lx)"?
Sure.
Regards!
Gerry
>
>> + s, pages << (PAGE_SHIFT - 10), start, end);
>> +
>> + return pages;
>> +}
>
> Gr{oetje,eeting}s,
>
> Geert
>
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
>
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
> -- Linus Torvalds
>
prev parent reply other threads:[~2013-03-11 22:17 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1362896833-21104-1-git-send-email-jiang.liu@huawei.com>
2013-03-10 6:26 ` [PATCH v2, part1 01/29] mm: introduce common help functions to deal with reserved/managed pages Jiang Liu
2013-03-10 9:20 ` Geert Uytterhoeven
[not found] ` <CAMuHMdXLEkKVfhPu-MfBE37SuHDoVtrEG92PZq2-nD3xw6GNQw@mail.gmail.com>
2013-03-11 22:17 ` Jiang Liu [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=513E5807.2060303@gmail.com \
--to=liuj97@gmail.com \
--cc=a-jacquiot@ti.com \
--cc=catalin.marinas@arm.com \
--cc=deller@gmx.de \
--cc=dhowells@redhat.com \
--cc=geert@linux-m68k.org \
--cc=gxt@mprc.pku.edu.cn \
--cc=heiko.carstens@de.ibm.com \
--cc=hpa@zytor.com \
--cc=jejb@parisc-linux.org \
--cc=jeremy@goop.org \
--cc=jonas@southpole.se \
--cc=konrad.wilk@oracle.com \
--cc=lennox.wu@gmail.com \
--cc=linux-snps-arc@vger.kernel.org \
--cc=liqin.chen@sunplusct.com \
--cc=maciej.rutecki@gmail.com \
--cc=msalter@redhat.com \
--cc=paulus@samba.org \
--cc=sam@ravnborg.org \
--cc=starvik@axis.com \
--cc=tangchen@cn.fujitsu.com \
--cc=walken@google.com \
--cc=x86@kernel.org \
--cc=xen-devel@lists.xensource.com \
--cc=ysato@users.sourceforge.jp \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).