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 pagesC 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<[email protected]>
Reviewed-by: Rik van Riel <[email protected]> -- All rights reversed -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

