On 01/25/2017 09:30 AM, Mel Gorman wrote: > As suggested by Vlastimil Babka and Tejun Heo, this patch uses a static > work_struct to co-ordinate the draining of per-cpu pages on the workqueue. > Only one task can drain at a time but this is better than the previous > scheme that allowed multiple tasks to send IPIs at a time. > > One consideration is whether parallel requests should synchronise against > each other. This patch does not synchronise for a global drain as the common > case for such callers is expected to be multiple parallel direct reclaimers > competing for pages when the watermark is close to min. Draining the per-cpu > list is unlikely to make much progress and serialising the drain is of > dubious merit. Drains are synchonrised for callers such as memory hotplug > and CMA that care about the drain being complete when the function returns. > > Signed-off-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> -- 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>