[PATCH 3/4] futex: use fast_gup()

From: Peter Zijlstra
Date: Fri Sep 26 2008 - 13:37:01 EST


Change the get_user_pages() call with fast_gup() which doesn't require holding
the mmap_sem thereby removing the mmap_sem from all fast paths.

Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
---
kernel/futex.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)

Index: linux-2.6/kernel/futex.c
===================================================================
--- linux-2.6.orig/kernel/futex.c
+++ linux-2.6/kernel/futex.c
@@ -232,9 +232,7 @@ static int get_futex_key(u32 __user *uad
}

again:
- down_read(&mm->mmap_sem);
- err = get_user_pages(current, mm, address, 1, 0, 0, &page, NULL);
- up_read(&mm->mmap_sem);
+ err = get_user_pages_fast(address, 1, 0, &page);
if (err < 0)
return err;



--
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/