|
|
Log in / Subscribe / Register

big chunk memory allocator v2

From:  KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
To:  "linux-mm@kvack.org" <linux-mm@kvack.org>
Subject:  [RFC][PATCH 0/3] big chunk memory allocator v2
Date:  Tue, 26 Oct 2010 19:00:42 +0900
Message-ID:  <20101026190042.57f30338.kamezawa.hiroyu@jp.fujitsu.com>
Cc:  "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "minchan.kim@gmail.com" <minchan.kim@gmail.com>, andi.kleen@intel.com, KOSAKI Motohiro <kosaki.motohiro@gmail.com>, fujita.tomonori@lab.ntt.co.jp, felipe.contreras@gmail.com
Archive‑link:  Article

Hi, here is version 2.

I only did small test and it seems to work (but I think there will be bug...)
I post this now just because I'll be out of office 10/31-11/15 with ksummit and
a private trip.

Any comments are welcome but please see the interface is enough for use cases or
not.  For example) If MAX_ORDER alignment is too bad, I need to rewrite almost
all code.

Now interface is:


struct page *__alloc_contig_pages(unsigned long base, unsigned long end,
                        unsigned long nr_pages, int align_order,
                        int node, gfp_t gfpflag, nodemask_t *mask)

 * @base: the lowest pfn which caller wants.
 * @end:  the highest pfn which caller wants.
 * @nr_pages: the length of a chunk of pages to be allocated.
 * @align_order: alignment of start address of returned chunk in order.
 *   Returned' page's order will be aligned to (1 << align_order).If smaller
 *   than MAX_ORDER, it's raised to MAX_ORDER.
 * @node: allocate near memory to the node, If -1, current node is used.
 * @gfpflag: see include/linux/gfp.h
 * @nodemask: allocate memory within the nodemask.

If the caller wants a FIXED address, set end - base == nr_pages.

The patch is based onto the latest mmotm + Bob's 3 patches for fixing
memory_hotplug.c (they are queued.)

Thanks,
-Kame




--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Copyright © 2010, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds