On Sat, 17 Feb 2018 11:14:10 +0300 Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> wrote: > On 17.02.2018 02:57, Andrew Morton wrote: > > On Sun, 11 Feb 2018 13:36:41 +0300 Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> wrote: > > > >> KPF_WAITERS indicates tasks are waiting for a page lock or writeback. > >> This might be false-positive, in this case next unlock will clear it. > > > > Well, kpageflags is full of potential false-positives. Or do you think > > this flag is especially vulnerable? > > > > In other words, under what circumstances will we have KPF_WAITERS set > > when PG_locked and PG-writeback are clear? > > Looks like lock_page() - unlock_page() shouldn't leave longstanding > false-positive: last unlock_page() must clear PG_waiters. > > But I've seen them. Probably that was from wait_on_page_writeback(): > it test PG_writeback, set PG_waiters under queue lock unconditionally > and then test PG_writeback again before sleep - and might exit > without wakeup i.e. without clearing PG_waiters. > > This could be fixed with extra check for in wait_on_page_bit_common() > under queue lock. > > ... > > This bit tells which page or оffset in file is actually wanted > by somebody in the system. That's another way to track where major > faults or writeback blocks something. We don't have to record flow > of events - snapshot of page-flags will show where contention is. > Please send a v2 and let's get all this info into the changelog? -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>