Hi, Kame. On Wed, Jul 14, 2010 at 9:23 AM, KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> wrote: > On Wed, 14 Jul 2010 01:44:23 +0900 > Minchan Kim <minchan.kim@xxxxxxxxx> wrote: > >> > If you _really_ can't make the section size smaller, and the vast >> > majority of the sections are fully populated, you could hack something >> > in. We could, for instance, have a global list that's mostly readonly >> > which tells you which sections need to be have their sizes closely >> > inspected. That would work OK if, for instance, you only needed to >> > check a couple of memory sections in the system. It'll start to suck if >> > you made the lists very long. >> >> Thanks for advise. As I say, I hope Russell accept 16M section. >> > > It seems what I needed was good sleep.... > How about this if 16M section is not acceptable ? > > == NOT TESTED AT ALL, EVEN NOT COMPILED == > > register address of mem_section to memmap itself's page struct's pg->private field. > This means the page is used for memmap of the section. > Otherwise, the page is used for other purpose and memmap has a hole. It's a very good idea. :) But can this handle case that a page on memmap pages have struct page descriptor of hole? I mean one page can include 128 page descriptor(4096 / 32). In there, 64 page descriptor is valid but remain 64 page descriptor is on hole. In this case, free_memmap doesn't free the page. I think most of system will have aligned memory of 512K(4K * 128). But I am not sure. -- Kind regards, Minchan Kim -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href