2013-10-02 14:34:31

by Jan Kara

[permalink] [raw]
Subject: [PATCH 13/26] fsl_hypervisor: Convert ioctl_memcpy() to use get_user_pages_fast()

CC: Timur Tabi <[email protected]>
Signed-off-by: Jan Kara <[email protected]>
---
drivers/virt/fsl_hypervisor.c | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/drivers/virt/fsl_hypervisor.c b/drivers/virt/fsl_hypervisor.c
index d294f67d6f84..791a46a5dd2a 100644
--- a/drivers/virt/fsl_hypervisor.c
+++ b/drivers/virt/fsl_hypervisor.c
@@ -242,13 +242,8 @@ static long ioctl_memcpy(struct fsl_hv_ioctl_memcpy __user *p)
sg_list = PTR_ALIGN(sg_list_unaligned, sizeof(struct fh_sg_list));

/* Get the physical addresses of the source buffer */
- down_read(&current->mm->mmap_sem);
- num_pinned = get_user_pages(current, current->mm,
- param.local_vaddr - lb_offset, num_pages,
- (param.source == -1) ? READ : WRITE,
- 0, pages, NULL);
- up_read(&current->mm->mmap_sem);
-
+ num_pinned = get_user_pages_fast(param.local_vaddr - lb_offset,
+ num_pages, (param.source == -1) ? READ : WRITE, pages);
if (num_pinned != num_pages) {
/* get_user_pages() failed */
pr_debug("fsl-hv: could not lock source buffer\n");
--
1.8.1.4


2013-10-04 02:38:38

by Timur Tabi

[permalink] [raw]
Subject: Re: [PATCH 13/26] fsl_hypervisor: Convert ioctl_memcpy() to use get_user_pages_fast()

On Wed, Oct 2, 2013 at 9:27 AM, Jan Kara <[email protected]> wrote:
> CC: Timur Tabi <[email protected]>
> Signed-off-by: Jan Kara <[email protected]>
> ---

This seems okay, but I don't have access to hardware at the moment to test it.