2013-10-02 14:34:23

by Jan Kara

[permalink] [raw]
Subject: [PATCH 17/26] kvm: Use get_user_pages_unlocked() in async_pf_execute()

CC: Gleb Natapov <[email protected]>
CC: Paolo Bonzini <[email protected]>
CC: [email protected]
Signed-off-by: Jan Kara <[email protected]>
---
virt/kvm/async_pf.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/virt/kvm/async_pf.c b/virt/kvm/async_pf.c
index 8a39dda7a325..8d4b39a4bc12 100644
--- a/virt/kvm/async_pf.c
+++ b/virt/kvm/async_pf.c
@@ -67,9 +67,7 @@ static void async_pf_execute(struct work_struct *work)
might_sleep();

use_mm(mm);
- down_read(&mm->mmap_sem);
- get_user_pages(current, mm, addr, 1, 1, 0, &page, NULL);
- up_read(&mm->mmap_sem);
+ get_user_pages_unlocked(current, mm, addr, 1, 1, 0, &page);
unuse_mm(mm);

spin_lock(&vcpu->async_pf.lock);
--
1.8.1.4


2013-10-02 14:59:44

by Gleb Natapov

[permalink] [raw]
Subject: Re: [PATCH 17/26] kvm: Use get_user_pages_unlocked() in async_pf_execute()

Looks straightforward.

On Wed, Oct 02, 2013 at 04:27:58PM +0200, Jan Kara wrote:
> CC: Gleb Natapov <[email protected]>
> CC: Paolo Bonzini <[email protected]>
> CC: [email protected]
> Signed-off-by: Jan Kara <[email protected]>
> ---
> virt/kvm/async_pf.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/virt/kvm/async_pf.c b/virt/kvm/async_pf.c
> index 8a39dda7a325..8d4b39a4bc12 100644
> --- a/virt/kvm/async_pf.c
> +++ b/virt/kvm/async_pf.c
> @@ -67,9 +67,7 @@ static void async_pf_execute(struct work_struct *work)
> might_sleep();
>
> use_mm(mm);
> - down_read(&mm->mmap_sem);
> - get_user_pages(current, mm, addr, 1, 1, 0, &page, NULL);
> - up_read(&mm->mmap_sem);
> + get_user_pages_unlocked(current, mm, addr, 1, 1, 0, &page);
> unuse_mm(mm);
>
> spin_lock(&vcpu->async_pf.lock);
> --
> 1.8.1.4

--
Gleb.