On 01/24/2018 08:43 AM, Mel Gorman wrote: > I'm less convinced by this for a microbenchmark. Prefetch has not been a > universal win in the past and we cannot be sure that it's a good idea on > all architectures or doesn't have other side-effects such as consuming > memory bandwidth for data we don't need or evicting cache hot data for > buddy information that is not used.
I had the same reaction. But, I think this case is special. We *always* do buddy merging (well, before the next patch in the series is applied) and check an order-0 page's buddy to try to merge it when it goes into the main allocator. So, the cacheline will always come in. IOW, I don't think this has the same downsides normally associated with prefetch() since the data is always used.