On Fri, Dec 14, 2018 at 04:53:11PM +0100, Jan Kara wrote: > > I noticed during testing that THP allocation success rates under the > > mmtests configuration global-dhp__workload_thpscale-madvhugepage-xfs were > > terrible with massive latencies introduced somewhere in the series. I > > haven't tried chasing it down as it's relatively late but this block > > looked odd and I missed it the first time. > > Interesting. I've run config-global-dhp__workload_thpscale and that didn't > show anything strange. But the numbers were fluctuating a lot both with and > without my patches applied. I'll have a look if I can reproduce this > sometime next week and look what could be causing the delays. > Ah, it's the difference between madvise and !madvise. The configuration you used does very little compaction as it neither wakes kswapd of kcompactd. It just falls back to base pages to limit fault latency so you wouldn't have hit the same paths of interest. > > This page->mapping test is relevant for the "Anonymous page without > > mapping" check but I think it's wrong. An anonymous page without mapping > > doesn't have a NULL mapping, it sets PAGE_MAPPING_ANON and the field can > > be special in other ways. I think you meant to use page_mapping(page) > > here, not page->mapping? > > Yes, that's a bug. It should have been page_mapping(page). Thanks for > catching this. > My pleasure, should have spotted it the first time around :/ -- Mel Gorman SUSE Labs