Re: Deadlocks with transparent huge pages and userspace fs daemons

From: Andrea Arcangeli
Date: Tue Dec 14 2010 - 12:47:00 EST


Hello Dave and everyone,

On Wed, Nov 03, 2010 at 01:43:25PM -0700, Dave Hansen wrote:
> Hey Miklos,
>
> When testing with a transparent huge page kernel:
>
> http://git.kernel.org/gitweb.cgi?p=linux/kernel/git/andrea/aa.git;a=summary
>
> some IBM testers ran into some deadlocks. It appears that the
> khugepaged process is trying to migrate one of a filesystem daemon's
> pages while khugepaged holds the daemon's mmap_sem for write.

The allocation under mmap_sem write mode in khugepaged bug should be
fixed in current aa.git based on 37-rc5:

http://git.kernel.org/?p=linux/kernel/git/andrea/aa.git;a=shortlog
http://git.kernel.org/?p=linux/kernel/git/andrea/aa.git;a=commit;h=83e4d55d0014b3eeb982005d73f55ffcf2813504

Let me know how it goes, it's not very well tested yet (which is why I
didn't make a new submit yet).

I stick to my idea this is bug in userland and may trigger if your
daemon does mmap/munmap and the vma allocation under mmap_sem waits
for the I/O, but I don't want to show it with THP enabled, and this is
more scalable so it's definitely good idea and no downside whatsoever.

Thanks for the report,
Andrea
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/