On May 03 2020, Gabriel Krisman Bertazi <krisman@xxxxxxxxxxxxx> wrote: > Matthew Wilcox <willy@xxxxxxxxxxxxx> writes: > >> On Sun, May 03, 2020 at 09:43:41AM +0100, Nikolaus Rath wrote: >>> Here's what I got: >>> >>> [ 221.277260] page:ffffec4bbd639880 refcount:1 mapcount:0 mapping:0000000000000000 index:0xd9 >>> [ 221.277265] flags: 0x17ffffc0000097(locked|waiters|referenced|uptodate|lru) >>> [ 221.277269] raw: 0017ffffc0000097 ffffec4bbd62f048 ffffec4bbd619308 0000000000000000 >>> [ 221.277271] raw: 00000000000000d9 0000000000000000 00000001ffffffff ffff9aec11beb000 >>> [ 221.277272] page dumped because: fuse: trying to steal weird page >>> [ 221.277273] page->mem_cgroup:ffff9aec11beb000 >> >> Great! Here's the condition: >> >> if (page_mapcount(page) || >> page->mapping != NULL || >> page_count(page) != 1 || >> (page->flags & PAGE_FLAGS_CHECK_AT_PREP & >> ~(1 << PG_locked | >> 1 << PG_referenced | >> 1 << PG_uptodate | >> 1 << PG_lru | >> 1 << PG_active | >> 1 << PG_reclaim))) { >> >> mapcount is 0, mapping is NULL, refcount is 1, so that's all fine. >> flags has 'waiters' set, which is not in the allowed list. I don't >> know the internals of FUSE, so I don't know why that is. >> > > On the first message, Nikolaus sent the following line: > >>> [ 2333.009937] fuse: page=00000000dd1750e3 index=2022240 flags=17ffffc0000097, count=1, >>> mapcount=0, mapping=00000000125079ad > > It should be noted that on the second run, where we got the dump_page > log, it indeed had a null mapping, which is similar to what Nikolaus > asked on the previous thread he linked to, but looks like this wasn't > the case on at least some of the reproductions of the issue. On the > line above, the condition that triggered the warning was page->mapping > != NULL. I don't know what to do with this information, though. Indeed, that's curious. I've modified the patch slightly to print both the old and the new message to confirm. And indeed: [ 260.882873] fuse: trying to steal weird page [ 260.882879] fuse: page=00000000813e7570 index=2010048 flags=17ffffc0000097, count=1, mapcount=0, mapping=0000000094844a11 [ 260.882882] page:ffffe13431bcc000 refcount:1 mapcount:0 mapping:0000000000000000 index:0x1eabc0 [ 260.882885] flags: 0x17ffffc0000097(locked|waiters|referenced|uptodate|lru) [ 260.882889] raw: 0017ffffc0000097 ffffe13431ca7c48 ffffe13431bcbfc8 0000000000000000 [ 260.882891] raw: 00000000001eabc0 0000000000000000 00000001ffffffff ffff91fe31318000 [ 260.882892] page dumped because: fuse: trying to steal weird page [ 260.882893] page->mem_cgroup:ffff91fe31318000 [ 262.608438] fuse: trying to steal weird page [ 262.608444] fuse: page=000000000c21d0c7 index=2040704 flags=17ffffc0000097, count=1, mapcount=0, mapping=0000000094844a11 [ 262.608447] page:ffffe134319ebf80 refcount:1 mapcount:0 mapping:0000000000000000 index:0x1f2380 [ 262.608450] flags: 0x17ffffc0000097(locked|waiters|referenced|uptodate|lru) [ 262.608455] raw: 0017ffffc0000097 ffffe134319e9fc8 ffffe134319ebf48 0000000000000000 [ 262.608457] raw: 00000000001f2380 0000000000000000 00000001ffffffff ffff91fe31318000 [ 262.608458] page dumped because: fuse: trying to steal weird page [ 262.608459] page->mem_cgroup:ffff91fe31318000 [ 262.770209] fuse: trying to steal weird page [ 262.770215] fuse: page=0000000018a813ac index=2045120 flags=17ffffc0000097, count=1, mapcount=0, mapping=0000000094844a11 [ 262.770218] page:ffffe134319953c0 refcount:1 mapcount:0 mapping:0000000000000000 index:0x1f34c0 [ 262.770221] flags: 0x17ffffc0000097(locked|waiters|referenced|uptodate|lru) [ 262.770225] raw: 0017ffffc0000097 ffffe134319ae788 ffffe13431995388 0000000000000000 [ 262.770228] raw: 00000000001f34c0 0000000000000000 00000001ffffffff ffff91fe31318000 [ 262.770229] page dumped because: fuse: trying to steal weird page [ 262.770230] page->mem_cgroup:ffff91fe31318000 Best, -Nikolaus -- GPG Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F »Time flies like an arrow, fruit flies like a Banana.«