On Wed, Mar 12, 2014 at 03:58:06PM +0900, Jungsoo Son wrote: > When I use PAGE_OWNER in mmotm tree, I found a problem that mismatches > the number of allocated pages. When I investigate, the problem is that > set_page_order is called for only a head page if freed page is merged to > a higher order page in the buddy allocator so tail pages of the higher > order page couldn't be reset to page->order = -1. > > It means when we do 'cat /proc/page-owner', it could show wrong > information. We could make read_page_owner more smart so that it could check PageBuddy at head page of high order page and skip tail pages but it needs zone->lock which is already heavy contention lock. Additionally, it could make wrong information on pcp pages, too. So, I like this simple approach. > > So page->order should be set to -1 for all the tail pages as well as the > first page before buddy allocator merges them. > > This patch is for clearing page->order of all the tail pages in > free_pages_prepare() when to free page. > > Signed-off-by: Jungsoo Son <jungsoo.son@xxxxxxx> > Cc: Minchan Kim <minchan@xxxxxxxxxx> > Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Thanks. -- Kind regards, Minchan Kim -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>