On Thu, May 29, 2014 at 4:36 PM, Minchan Kim wrote: > > I did below hacky test to apply your idea and the result is overflow again. > So, again it would second stack expansion. Otherwise, we should prevent > swapout in direct reclaim. So changing io_schedule() is bad, for the reasons I outlined elsewhere (we use it for wait_for_page*() - see sleep_on_page(). It's the congestion waiting where the io_schedule() should be avoided. So maybe test a patch something like the attached. NOTE! This is absolutely TOTALLY UNTESTED! It might do horrible horrible things. It seems to compile, but I have absolutely no reason to believe that it would work. I didn't actually test that this moves anything at all to kblockd. So think of it as a concept patch that *might* work, but as Dave said, there might also be other things that cause unplugging and need some tough love. Linus