On Tue, Feb 16, 2010 at 12:33:18PM +0100, Peter Zijlstra wrote: > OK, so I really don't like this, the futex code is pain enough without > having all this open-coded gunk in. Is there really no sensible > vm-helper you can use here? I also don't like this but there's no vm helper and this is the only case where this happens. No other place pretends to work on the head page while calling gup on a tail page! So this requires special care considering tail page may disappear any time (and head page as well) if split_huge_page is running. > Also, that whole local_irq_disable(); __gup_fast(); dance is terribly > x86 specific, and this is generic core kernel code. But nothing risks to break at build time, simply any arch with transparent hugepage support also has to implement __get_user_pages_fast. Disabling irq and using __get_user_pages_fast looked the best way to serialize against split_huge_page here (rather than taking locks). -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>