Hi, Hyeonggon, Hyeonggon Yoo <42.hyeyoo@xxxxxxxxx> writes: > On Wed, Feb 01, 2023 at 01:09:10AM +0900, Hyeonggon Yoo wrote: >> I've observed random list_del corruption on mm-unstable, >> where HEAD is commit d69862e693c069f4 >> ("mm/migrate: convert putback_movable_pages() to use folios"). >> >> The issue can be easily reproduced by stressing MM multiple times: >> stress-ng --bigheap 0 --timeout 300 >> >> The compiler is gcc 12.2.1 and config, dmesg are included as attachment. >> I will try to bisect but can't promise quick resolution :) > > > The first bad commits appears to be: > c203c6d5b3f0597 ("migrate_pages: batch _unmap and _move") > > the first bad commit _probably_ be earlier, but this is quite > easy to reproduce so at this point I think above is the real bad commit. Thank you very much for reporting the bug. I'm in travel now but I will try to find some time to reproduce and debug it. Best Regards, Huang, Ying > Here's bisect log: > > [hyeyoo@hyeyoo linux]$ git bisect log > git bisect start > # status: waiting for both good and bad commits > # bad: [d69862e693c069f4f67fc55c159ce5f6c6def42f] mm/migrate: convert putback_movable_pages() to use folios > git bisect bad d69862e693c069f4f67fc55c159ce5f6c6def42f > # status: waiting for good commit(s), bad commit known > # good: [5dc4c995db9eb45f6373a956eb1f69460e69e6d4] Linux 6.2-rc4 > git bisect good 5dc4c995db9eb45f6373a956eb1f69460e69e6d4 > # good: [b81cc59c6835bb84e72f1ce516121f25780a42cb] shmem: convert shmem_write_end() to use a folio > git bisect good b81cc59c6835bb84e72f1ce516121f25780a42cb > # bad: [1e2a127908bdbc11065bc08200d0add096d96245] mm: multi-gen LRU: improve walk_pmd_range() > git bisect bad 1e2a127908bdbc11065bc08200d0add096d96245c203c6d5b3f0597 > # good: [4d2eba3fd7c0b3ada6b474e4f13dc1238670ea91] ceph: convert ceph_writepages_start() to use filemap_get_folios_tag() > git bisect good 4d2eba3fd7c0b3ada6b474e4f13dc1238670ea91 > # good: [b22d808ef6c68b6fa2b5a97f5d02e83ab8fb732d] migrate_pages: separate hugetlb folios migration > git bisect good b22d808ef6c68b6fa2b5a97f5d02e83ab8fb732d > # bad: [6d8b6b69ee6a24a89f2552a12e43b7c9b3a7635d] mm/hugetlb: fix get_hwpoison_hugetlb_folio() stub > git bisect bad 6d8b6b69ee6a24a89f2552a12e43b7c9b3a7635d > # bad: [71d4be767f5fde1ac5df2ade1f654f19c24a0a3e] mm/damon/core: skip apply schemes if empty > git bisect bad 71d4be767f5fde1ac5df2ade1f654f19c24a0a3e > # bad: [68611caff673fc59c17f00dcd0cab2704987828d] migrate_pages: move migrate_folio_unmap() > git bisect bad 68611caff673fc59c17f00dcd0cab2704987828d > # good: [7199465b2be061f1b2bd6b5a1a5a96a822f658b9] migrate_pages: split unmap_and_move() to _unmap() and _move() > git bisect good 7199465b2be061f1b2bd6b5a1a5a96a822f658b9 > # bad: [c203c6d5b3f0597a15137b6394fa715542df78c8] migrate_pages: batch _unmap and _move > git bisect bad c203c6d5b3f0597a15137b6394fa715542df78c8 > # first bad commit: [c203c6d5b3f0597a15137b6394fa715542df78c8] migrate_pages: batch _unmap and _move