diff options
author | Andy Grover <andy.grover@oracle.com> | 2009-04-09 14:09:42 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-04-09 17:21:20 -0700 |
commit | 830eb7d56c18ff4c29acd8b0bb48db404660321f (patch) | |
tree | 5c467f39c1627d3048c6bb08fa314b12c2ee7c03 /net/rds | |
parent | 49f696914100780f6bf8e652d3468de0015d6172 (diff) | |
download | lwn-830eb7d56c18ff4c29acd8b0bb48db404660321f.tar.gz lwn-830eb7d56c18ff4c29acd8b0bb48db404660321f.zip |
RDS: use get_user_pages_fast()
Use the new function that is simpler and faster.
Signed-off-by: Andy Grover <andy.grover@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/rds')
-rw-r--r-- | net/rds/info.c | 5 | ||||
-rw-r--r-- | net/rds/rdma.c | 5 |
2 files changed, 2 insertions, 8 deletions
diff --git a/net/rds/info.c b/net/rds/info.c index 1d885535214d..62aeef37aefe 100644 --- a/net/rds/info.c +++ b/net/rds/info.c @@ -188,10 +188,7 @@ int rds_info_getsockopt(struct socket *sock, int optname, char __user *optval, ret = -ENOMEM; goto out; } - down_read(¤t->mm->mmap_sem); - ret = get_user_pages(current, current->mm, start, nr_pages, 1, 0, - pages, NULL); - up_read(¤t->mm->mmap_sem); + ret = get_user_pages_fast(start, nr_pages, 1, pages); if (ret != nr_pages) { if (ret > 0) nr_pages = ret; diff --git a/net/rds/rdma.c b/net/rds/rdma.c index e390dc70b9d9..8dc83d2caa58 100644 --- a/net/rds/rdma.c +++ b/net/rds/rdma.c @@ -150,10 +150,7 @@ static int rds_pin_pages(unsigned long user_addr, unsigned int nr_pages, { int ret; - down_read(¤t->mm->mmap_sem); - ret = get_user_pages(current, current->mm, user_addr, - nr_pages, write, 0, pages, NULL); - up_read(¤t->mm->mmap_sem); + ret = get_user_pages_fast(user_addr, nr_pages, write, pages); if (ret >= 0 && ret < nr_pages) { while (ret--) |