[PATCH 0/4] big chunk memory allocator v4

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: KAMEZAWA Hiroyuki
Date: Friday, November 19, 2010 - 1:10 am

Hi, this is an updated version. 

No major changes from the last one except for page allocation function.
removed RFC.

Order of patches is

[1/4] move some functions from memory_hotplug.c to page_isolation.c
[2/4] search physically contiguous range suitable for big chunk alloc.
[3/4] allocate big chunk memory based on memory hotplug(migration) technique
[4/4] modify page allocation function.

For what:

  I hear there is requirements to allocate a chunk of page which is larger than
  MAX_ORDER. Now, some (embeded) device use a big memory chunk. To use memory,
  they hide some memory range by boot option (mem=) and use hidden memory
  for its own purpose. But this seems a lack of feature in memory management.

  This patch adds 
	alloc_contig_pages(start, end, nr_pages, gfp_mask)
  to allocate a chunk of page whose length is nr_pages from [start, end)
  phys address. This uses similar logic of memory-unplug, which tries to
  offline [start, end) pages. By this, drivers can allocate 30M or 128M or
  much bigger memory chunk on demand. (I allocated 1G chunk in my test).

  But yes, because of fragmentation, this cannot guarantee 100% alloc.
  If alloc_contig_pages() is called in system boot up or movable_zone is used,
  this allocation succeeds at high rate.

  I tested this on x86-64, and it seems to work as expected. But feedback from
  embeded guys are appreciated because I think they are main user of this
  function.

Thanks,
-Kame


  


--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 0/4] big chunk memory allocator v4, KAMEZAWA Hiroyuki, (Fri Nov 19, 1:10 am)
[PATCH 1/4] alloc_contig_pages() move some functions to pa ..., KAMEZAWA Hiroyuki, (Fri Nov 19, 1:12 am)
[PATCH 2/4] alloc_contig_pages() find appropriate physical ..., KAMEZAWA Hiroyuki, (Fri Nov 19, 1:14 am)
[PATCH 3/4] alloc_contig_pages() allocate big chunk memory ..., KAMEZAWA Hiroyuki, (Fri Nov 19, 1:15 am)
[PATCH 4/4] alloc_contig_pages() use better allocation fun ..., KAMEZAWA Hiroyuki, (Fri Nov 19, 1:16 am)
Re: [PATCH 0/4] big chunk memory allocator v4, Andrew Morton, (Fri Nov 19, 1:56 pm)
Re: [PATCH 0/4] big chunk memory allocator v4, KAMEZAWA Hiroyuki, (Sun Nov 21, 5:04 pm)
Re: [PATCH 2/4] alloc_contig_pages() find appropriate phys ..., KAMEZAWA Hiroyuki, (Sun Nov 21, 5:11 pm)
Re: [PATCH 3/4] alloc_contig_pages() allocate big chunk me ..., KAMEZAWA Hiroyuki, (Sun Nov 21, 5:13 pm)
Re: [PATCH 0/4] big chunk memory allocator v4, Felipe Contreras, (Sun Nov 21, 5:30 pm)
RE: [PATCH 0/4] big chunk memory allocator v4, Kleen, Andi, (Mon Nov 22, 1:59 am)
Re: [PATCH 0/4] big chunk memory allocator v4, Michał Nazarewicz, (Tue Nov 23, 8:44 am)
Re: [PATCH 0/4] big chunk memory allocator v4, Michał Nazarewicz, (Tue Nov 23, 8:46 am)
Re: [PATCH 2/4] alloc_contig_pages() find appropriate phys ..., KAMEZAWA Hiroyuki, (Tue Nov 23, 5:15 pm)
Re: [PATCH 3/4] alloc_contig_pages() allocate big chunk me ..., KAMEZAWA Hiroyuki, (Tue Nov 23, 5:20 pm)
Re: [PATCH 0/4] big chunk memory allocator v4, KAMEZAWA Hiroyuki, (Tue Nov 23, 5:36 pm)