2013-10-02 14:32:47

by Jan Kara

[permalink] [raw]
Subject: [PATCH 10/26] lustre: Convert ll_get_user_pages() to use get_user_pages_fast()

CC: Greg Kroah-Hartman <[email protected]>
CC: Peng Tao <[email protected]>
CC: Andreas Dilger <[email protected]>
CC: [email protected]
Signed-off-by: Jan Kara <[email protected]>
---
drivers/staging/lustre/lustre/llite/rw26.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/staging/lustre/lustre/llite/rw26.c b/drivers/staging/lustre/lustre/llite/rw26.c
index 96c29ad2fc8c..7e3e0967993b 100644
--- a/drivers/staging/lustre/lustre/llite/rw26.c
+++ b/drivers/staging/lustre/lustre/llite/rw26.c
@@ -202,11 +202,8 @@ static inline int ll_get_user_pages(int rw, unsigned long user_addr,

OBD_ALLOC_LARGE(*pages, *max_pages * sizeof(**pages));
if (*pages) {
- down_read(&current->mm->mmap_sem);
- result = get_user_pages(current, current->mm, user_addr,
- *max_pages, (rw == READ), 0, *pages,
- NULL);
- up_read(&current->mm->mmap_sem);
+ result = get_user_pages_fast(user_addr, *max_pages,
+ (rw == READ), *pages);
if (unlikely(result <= 0))
OBD_FREE_LARGE(*pages, *max_pages * sizeof(**pages));
}
--
1.8.1.4


2013-10-05 06:27:47

by Dilger, Andreas

[permalink] [raw]
Subject: Re: [PATCH 10/26] lustre: Convert ll_get_user_pages() to use get_user_pages_fast()

On 2013/10/02 8:27 AM, "Jan Kara" <[email protected]> wrote:
>CC: Greg Kroah-Hartman <[email protected]>
>CC: Peng Tao <[email protected]>
>CC: Andreas Dilger <[email protected]>
>CC: [email protected]
>Signed-off-by: Jan Kara <[email protected]>

Acked-by: Andreas Dilger <[email protected]>

>---
> drivers/staging/lustre/lustre/llite/rw26.c | 7 ++-----
> 1 file changed, 2 insertions(+), 5 deletions(-)
>
>diff --git a/drivers/staging/lustre/lustre/llite/rw26.c
>b/drivers/staging/lustre/lustre/llite/rw26.c
>index 96c29ad2fc8c..7e3e0967993b 100644
>--- a/drivers/staging/lustre/lustre/llite/rw26.c
>+++ b/drivers/staging/lustre/lustre/llite/rw26.c
>@@ -202,11 +202,8 @@ static inline int ll_get_user_pages(int rw, unsigned
>long user_addr,
>
> OBD_ALLOC_LARGE(*pages, *max_pages * sizeof(**pages));
> if (*pages) {
>- down_read(&current->mm->mmap_sem);
>- result = get_user_pages(current, current->mm, user_addr,
>- *max_pages, (rw == READ), 0, *pages,
>- NULL);
>- up_read(&current->mm->mmap_sem);
>+ result = get_user_pages_fast(user_addr, *max_pages,
>+ (rw == READ), *pages);
> if (unlikely(result <= 0))
> OBD_FREE_LARGE(*pages, *max_pages * sizeof(**pages));
> }


Cheers, Andreas
--
Andreas Dilger

Lustre Software Architect
Intel High Performance Data Division