Messages in this thread | | | Date | Wed, 26 Aug 2009 20:57:27 +0100 (BST) | From | Hugh Dickins <> | Subject | Re: [PATCH 13/12] ksm: fix munlock during exit_mmap deadlock |
| |
On Wed, 26 Aug 2009, Andrea Arcangeli wrote: > > All is left to address is to teach page_alloc.c that the mm is going > away in a second patch. That might also help when it's aio triggering > gup page allocations or other kernel threads with use_mm just like ksm > and the oom killer selected those "mm" for release. > > Having ksm using use_mm before triggering the handle_mm_fault (so > tsk->mm points to the mm of the task) and adding a MMF_MEMDIE to > mm->flags checked by page_alloc would work just fine and should solve > the double task killed... but then I'm unsure.. this is just the first > idea I had.
Yes, I began to have thoughts along those lines too as I was writing my reply. It is a different angle on the problem, I hadn't looked at it that way before, and it does seem worth pursuing. MMF_MEMDIE, yes, that might be useful. But KSM_RUN_UNMERGE wouldn't be able to use_mm since it's coming from a normal user process - perhaps it should be a kill-me-first like swapoff via PF_SWAPOFF.
Hugh
| |