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>