thp: allocate memory in khugepaged outside of mmap_sem write mode
authorAndrea Arcangeli <aarcange@redhat.com>
Thu, 13 Jan 2011 23:47:06 +0000 (15:47 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 14 Jan 2011 01:32:45 +0000 (17:32 -0800)
commitce83d2174ea9c3d72d5821cf3ebc974e36391bf7
tree5e31167f84110551cf00ed3335b2cc3af317b33a
parent0bbbc0b33d141f78a0d9218a54a47f50621220d3
thp: allocate memory in khugepaged outside of mmap_sem write mode

This tries to be more friendly to filesystem in userland, with userland
backends that allocate memory in the I/O paths and that could deadlock if
khugepaged holds the mmap_sem write mode of the userland backend while
allocating memory.  Memory allocation may wait for writeback I/O
completion from the daemon that may be blocked in the mmap_sem read mode
if a page fault happens and the daemon wasn't using mlock for the memory
required for the I/O submission and completion.

Signed-off-by: Andrea Arcangeli <aarcange@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/huge_memory.c