On Tue, Aug 07, 2012 at 10:45:25AM -0400, Rik van Riel wrote:On 08/07/2012 08:31 AM, Mel Gorman wrote:commit [7db8889a: mm: have order> 0 compaction start off where it left]
introduced a caching mechanism to reduce the amount work the free page
scanner does in compaction. However, it has a problem. Consider two process
simultaneously scanning free pages
C
Process A M S F
|---------------------------------------|
Process B M FS
Argh. Good spotting.
This is not optimal and it can still race but the compact_cached_free_pfn
will be pointing to or very near a pageblock with free pages.
Agreed on the "not optimal", but I also cannot think of a better
idea right now. Getting this fixed for 3.6 is important, we can
think of future optimizations in San Diego.
Sounds like a plan.
Signed-off-by: Mel Gorman<mgorman@xxxxxxx>
Reviewed-by: Rik van Riel<riel@xxxxxxxxxx>
Thanks very much.
Jim, what are the chances of getting this series tested with your large
data workload? As it's on top of 3.5, it should be less scary than
testing 3.6-rc1 but if you are comfortable testing 3.6-rc1 then please
test with just this patch on top.