Hi Andrew, On Mon, Nov 4, 2024 at 12:06 PM Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote: > The patch titled > Subject: mm-list_lru-split-the-lock-to-per-cgroup-scope-fix > has been added to the -mm mm-unstable branch. Its filename is > mm-list_lru-split-the-lock-to-per-cgroup-scope-fix.patch > > This patch will shortly appear at > https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/mm-list_lru-split-the-lock-to-per-cgroup-scope-fix.patch > > This patch will later appear in the mm-unstable branch at > git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm > > Before you just go and hit "reply", please: > a) Consider who else should be cc'ed > b) Prefer to cc a suitable mailing list as well > c) Ideally: find the original patch on the mailing list and do a > reply-to-all to that, adding suitable additional cc's > > *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** > > The -mm tree is included into linux-next via the mm-everything > branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm > and is updated there every 2-3 working days > > ------------------------------------------------------ > From: Kairui Song <ryncsn@xxxxxxxxx> > Subject: mm-list_lru-split-the-lock-to-per-cgroup-scope-fix > Date: Mon, 28 Oct 2024 01:26:30 +0800 > > Thanks for the report. I converted list_lru_walk callback to keep the > list unlocked when LRU_RETRY and LRU_REMOVED_RETRY is returned, but > didn't notice shrink_memcg_cg in zswap.c could return LRU_STOP after > it unlocked the list. > > Link: https://lkml.kernel.org/r/CAMgjq7D_OA=vYf5SnNnKXjppPFhDqsbYF--6=cOayKiadxuwrQ@xxxxxxxxxxxxxx > Signed-off-by: Kairui Song <ryncsn@xxxxxxxxx> > Reported-by: Usama Arif <usamaarif642@xxxxxxxxx> > Closes: https://lkml.kernel.org/r/7334b158-8567-4c66-8176-57b879ff8882@xxxxxxxxx > Cc: Chengming Zhou <zhouchengming@xxxxxxxxxxxxx> > Cc: Johannes Weiner <hannes@xxxxxxxxxxx> > Cc: Kairui Song <kasong@xxxxxxxxxxx> > Cc: Matthew Wilcox <willy@xxxxxxxxxxxxx> > Cc: Michal Hocko <mhocko@xxxxxxxx> > Cc: Muchun Song <muchun.song@xxxxxxxxx> > Cc: Qi Zheng <zhengqi.arch@xxxxxxxxxxxxx> > Cc: Roman Gushchin <roman.gushchin@xxxxxxxxx> > Cc: Shakeel Butt <shakeel.butt@xxxxxxxxx> > Cc: Waiman Long <longman@xxxxxxxxxx> > Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > --- > > mm/list_lru.c | 9 ++++----- > 1 file changed, 4 insertions(+), 5 deletions(-) > > --- a/mm/list_lru.c~mm-list_lru-split-the-lock-to-per-cgroup-scope-fix > +++ a/mm/list_lru.c > @@ -298,9 +298,9 @@ restart: > ret = isolate(item, l, &l->lock, cb_arg); > switch (ret) { > /* > - * LRU_RETRY and LRU_REMOVED_RETRY will drop the lru lock, > - * the list traversal will be invalid and have to restart from > - * scratch. > + * LRU_RETRY, LRU_REMOVED_RETRY and LRU_STOP will drop the lru > + * lock, the list traversal will be invalid and have to restart > + * from scratch. > */ > case LRU_RETRY: > goto restart; > @@ -318,14 +318,13 @@ restart: > case LRU_SKIP: > break; > case LRU_STOP: > - assert_spin_locked(&l->lock); > goto out; > default: > BUG(); > } > } > -out: > unlock_list_lru(l, irq_off); > +out: > return isolated; > } > > _ > > Patches currently in -mm which might be from ryncsn@xxxxxxxxx are > > mm-list_lru-split-the-lock-to-per-cgroup-scope-fix.patch > Thanks for taking care of this. I was just thinking about posting a V3. Can you also help pick up this fix? https://lore.kernel.org/linux-mm/62a65418-2393-40ec-b462-151605a5efcf@stanley.mountain/ It also applies to "mm/list_lru: split the lock to per-cgroup scope". These are so far the only two problems founded for that series.