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.
Signed-off-by: Mel Gorman<mgorman@xxxxxxx>
Reviewed-by: Rik van Riel <riel@xxxxxxxxxx> -- All rights reversed -- 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>