Re: [PATCH 4/4] percpu: use reclaim threshold instead of running for every page

From: Roman Gushchin
Date: Tue Apr 20 2021 - 17:23:25 EST


On Mon, Apr 19, 2021 at 10:50:47PM +0000, Dennis Zhou wrote:
> The last patch implements reclaim by adding 2 additional lists where a
> chunk's lifecycle is:
> active_slot -> to_depopulate_slot -> sidelined_slot
>
> This worked great because we're able to nicely converge paths into
> isolation. However, it's a bit aggressive to run for every free page.
> Let's accumulate a few free pages before we do this. To do this, the new
> lifecycle is:
> active_slot -> sidelined_slot -> to_depopulate_slot -> sidelined_slot
>
> The transition from sidelined_slot -> to_depopulate_slot occurs on a
> threshold instead of before where it directly went to the
> to_depopulate_slot. pcpu_nr_isolated_empty_pop_pages[] is introduced to
> aid with this.
>
> Suggested-by: Roman Gushchin <guro@xxxxxx>
> Signed-off-by: Dennis Zhou <dennis@xxxxxxxxxx>

Acked-by: Roman Gushchin <guro@xxxxxx>

Thanks, Dennis!