[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20101013140546.ADB7.A69D9226@jp.fujitsu.com>
Date: Wed, 13 Oct 2010 14:05:49 +0900 (JST)
From: KOSAKI Motohiro <kosaki.motohiro@...fujitsu.com>
To: KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com>
Cc: kosaki.motohiro@...fujitsu.com,
"linux-mm@...ck.org" <linux-mm@...ck.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"minchan.kim@...il.com" <minchan.kim@...il.com>
Subject: Re: [RFC][PATCH 1/3] contigous big page allocator
>
> No big change since the previous version but divided into 3 patches.
> This patch is based onto mmotm-1008 and just works, IOW, mot tested in
> very-bad-situation.
>
> What this wants to do:
> allocates a contiguous chunk of pages larger than MAX_ORDER.
> for device drivers (camera? etc..)
> My intention is not for allocating HUGEPAGE(> MAX_ORDER).
>
> What this does:
> allocates a contiguous chunk of page with page migration,
> based on memory hotplug codes. (memory unplug is for isolating
> a chunk of page from buddy allocator.)
>
> Consideration:
> Maybe more codes can be shared with other functions
> (memory hotplug, compaction..)
>
> Status:
> Maybe still needs more updates, works on small test.
> [1/3] ... move some codes from memory hotplug. (no functional changes)
> [2/3] ... a code for searching contiguous pages.
> [3/3] ... a code for allocating contig memory.
>
> Thanks,
> -Kame
> ==
>
> From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com>
>
> Memory hotplug is a logic for making pages unused in the specified range
> of pfn. So, some of core logics can be used for other purpose as
> allocating a very large contigous memory block.
>
> This patch moves some functions from mm/memory_hotplug.c to
> mm/page_isolation.c. This helps adding a function for large-alloc in
> page_isolation.c with memory-unplug technique.
>
>
> Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com>
> ---
> include/linux/page-isolation.h | 7 ++
> mm/memory_hotplug.c | 109 ---------------------------------------
> mm/page_isolation.c | 114 +++++++++++++++++++++++++++++++++++++++++
> 3 files changed, 121 insertions(+), 109 deletions(-)
>
> Index: mmotm-1008/include/linux/page-isolation.h
> ===================================================================
> --- mmotm-1008.orig/include/linux/page-isolation.h
> +++ mmotm-1008/include/linux/page-isolation.h
> @@ -33,5 +33,12 @@ test_pages_isolated(unsigned long start_
> extern int set_migratetype_isolate(struct page *page);
> extern void unset_migratetype_isolate(struct page *page);
>
> +/*
> + * For migration.
> + */
> +
> +int test_pages_in_a_zone(unsigned long start_pfn, unsigned long end_pfn);
> +int scan_lru_pages(unsigned long start, unsigned long end);
offtopic: scan_lru_pages() return type should be unsined long. it return
pfn.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists