On Fri, Dec 09, 2016 at 07:32:22PM +0100, Vlastimil Babka wrote: > > As a slight aside, I recently spotted that one of the largest overhead > > in the bulk free path was in the page_is_buddy() checks so pretty much > > anything that helps that is welcome. > > Interesting, the function shouldn't be doing really much on x86 without > debug config options? We might try further optimize the zone equivalence > checks, perhaps? I don't have the data any more but IIRC, it was cache miss intensive and I assumed at the time that it was checking cache cold struct pages during merges. At the time I was looking at splitting the per-cpu lists into irq and non-irq so wasn't focused on the page_is_buddy part of the profile. It just stuck in my mind as being surprisingly high. -- Mel Gorman SUSE Labs -- 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>