On Tue, Sep 15, 2020 at 11:27 AM Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote: > > Every one of them is in the "io_schedule()" in the filemap_fault() > path, although two of them seem to be in file_fdatawait_range() rather > than in the lock_page() code itself (so they are also waiting on a > page bit, but they are waiting for the writeback bit to clear). No, that seems to be just stale entries on the stack from a previous system call, rather than a real trace. There's no way to reach file_fdatawait_range() from mlockall() that I can see. So I'm not entirely sure why the stack trace for two of the processes looks a bit different, but they all look like they should be in __lock_page_killable(). It's possible those two were woken up (by another CPU) and their stack is in flux. They also have "wake_up_page_bit()" as a stale entry on their stack, so that's not entirely unlikely. So that sysrq-W state shows that yes, people are stuck waiting for a page, but that wasn't exactly unexpected. Linus