linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] big chunk memory allocator v4
@ 2010-11-19  8:10 KAMEZAWA Hiroyuki
  2010-11-19  8:12 ` [PATCH 1/4] alloc_contig_pages() move some functions to page_isolation.c KAMEZAWA Hiroyuki
                   ` (4 more replies)
  0 siblings, 5 replies; 22+ messages in thread
From: KAMEZAWA Hiroyuki @ 2010-11-19  8:10 UTC (permalink / raw)
  To: linux-mm
  Cc: linux-kernel, minchan.kim, Bob Liu, fujita.tomonori,
	m.nazarewicz, pawel, andi.kleen, felipe.contreras, akpm,
	kosaki.motohiro

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


  


--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom policy in Canada: sign http://dissolvethecrtc.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2010-11-24  0:42 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-11-19  8:10 [PATCH 0/4] big chunk memory allocator v4 KAMEZAWA Hiroyuki
2010-11-19  8:12 ` [PATCH 1/4] alloc_contig_pages() move some functions to page_isolation.c KAMEZAWA Hiroyuki
2010-11-21 15:07   ` Minchan Kim
2010-11-19  8:14 ` [PATCH 2/4] alloc_contig_pages() find appropriate physical memory range KAMEZAWA Hiroyuki
2010-11-21 15:21   ` Minchan Kim
2010-11-22  0:11     ` KAMEZAWA Hiroyuki
2010-11-22 11:20   ` Minchan Kim
2010-11-24  0:15     ` KAMEZAWA Hiroyuki
2010-11-19  8:15 ` [PATCH 3/4] alloc_contig_pages() allocate big chunk memory using migration KAMEZAWA Hiroyuki
2010-11-21 15:25   ` Minchan Kim
2010-11-22  0:13     ` KAMEZAWA Hiroyuki
2010-11-22 11:44   ` Minchan Kim
2010-11-24  0:20     ` KAMEZAWA Hiroyuki
2010-11-19  8:16 ` [PATCH 4/4] alloc_contig_pages() use better allocation function for migration KAMEZAWA Hiroyuki
2010-11-22 12:01   ` Minchan Kim
2010-11-19 20:56 ` [PATCH 0/4] big chunk memory allocator v4 Andrew Morton
2010-11-22  0:04   ` KAMEZAWA Hiroyuki
2010-11-23 15:46     ` Michał Nazarewicz
2010-11-24  0:36       ` KAMEZAWA Hiroyuki
2010-11-22  0:30   ` Felipe Contreras
2010-11-22  8:59   ` Kleen, Andi
2010-11-23 15:44     ` Michał Nazarewicz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox