Re: [PATCH v4 09/17] mm: workingset: use xas_set_lru() to pass shadow_nodes

From: Johannes Weiner
Date: Tue Dec 14 2021 - 09:09:53 EST


On Tue, Dec 14, 2021 at 12:53:34AM +0800, Muchun Song wrote:
> The workingset will add the xa_node to shadow_nodes, so we should use
> xas_set_lru() to pass the list_lru which we want to insert xa_node
> into to set up the xa_node reclaim context correctly.
>
> Signed-off-by: Muchun Song <songmuchun@xxxxxxxxxxxxx>

Ah, you can't instantiate the list on-demand in list_lru_add() because
that's happening in an atomic context. So you need the lru available
in the broader xa update context and group the lru setup in with the
other pre-atomic node allocation bits. Fair enough. I think it would
be a bit easier to read if this patch and the previous one were
squashed (workingset is the only user of xa_lru anyway) and you added
that explanation. But other than that, the changes make sense to me;
to a combined patch, please add:

Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx>