On Sat, 27 Aug 2011 12:32:01 +0300
Konstantin Khlebnikov<khlebnikov@xxxxxxxxxx> wrote:
After commit v2.6.36-5896-gd065bd8 "mm: retry page fault when blocking on disk transfer"
we usually wait in page-faults without mmap_sem held, so all swap-token logic was broken,
because it based on using rwsem_is_locked(&mm->mmap_sem) as sign of in progress page-faults.
If I'm interpreting this correctly, the thrash-handling logic has been
effectively disabled for a year and nobody noticed.
This patch adds to mm_struct atomic counter of in progress page-faults for mm with swap-token.
We desperately need to delete some code from mm/. This seems like a
great candidate. Someone prove me wrong?