[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <004201d276ee$0f20fd80$2d62f880$@alibaba-inc.com>
Date: Wed, 25 Jan 2017 17:33:16 +0800
From: "Hillf Danton" <hillf.zj@...baba-inc.com>
To: "'Mel Gorman'" <mgorman@...hsingularity.net>,
"'Andrew Morton'" <akpm@...ux-foundation.org>
Cc: "'Tejun Heo'" <tj@...nel.org>,
"'Vlastimil Babka'" <vbabka@...e.cz>,
"'Linux Kernel'" <linux-kernel@...r.kernel.org>,
"'Linux-MM'" <linux-mm@...ck.org>,
"'Jesper Dangaard Brouer'" <brouer@...hat.com>
Subject: Re: [PATCH] mm, page_alloc: Use static global work_struct for draining per-cpu pages
On Wednesday, January 25, 2017 4:31 PM 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@...hsingularity.net>
> ---
Acked-by: Hillf Danton <hillf.zj@...baba-inc.com>
Powered by blists - more mailing lists