On Thu, Apr 05, 2012 at 03:52:11PM +0900, HATAYAMA Daisuke wrote: [..] > * Bad performance is free pages only. Cache, cache private, user and > zero pages are processed per range of memory in good performance. Hi Daisuke-san, I am wondering why can't we walk through the memmap array and look into struct page for figuring out if page is free or not. Looks like that in the past we used to have PG_buddy flag and same information possibly could be retrieved by looking at page->_count field. So I am just curious that why do we walk through free pages list to figure out free pages instead of looking at "struct page". Thanks Vivek