[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <476EA5EB.8090205@qumranet.com>
Date: Sun, 23 Dec 2007 20:16:11 +0200
From: Avi Kivity <avi@...ranet.com>
To: linux-kernel@...r.kernel.org, kvm-devel@...ts.sourceforge.net
Subject: Re: [kvm-devel] [PATCH 27/50] KVM: Support assigning userspace memory
to the guest
Avi Kivity wrote:
> From: Izik Eidus <izike@...ranet.com>
>
> Instead of having the kernel allocate memory to the guest, let userspace
> allocate it and pass the address to the kernel.
>
> This is required for s390 support, but also enables features like memory
> sharing and using hugetlbfs backed memory.
>
>
[...]
> @@ -728,11 +752,27 @@ static int kvm_vm_ioctl_set_memory_region(struct kvm *kvm,
>
> memset(new.phys_mem, 0, npages * sizeof(struct page *));
> memset(new.rmap, 0, npages * sizeof(*new.rmap));
> - for (i = 0; i < npages; ++i) {
> - new.phys_mem[i] = alloc_page(GFP_HIGHUSER
> - | __GFP_ZERO);
> - if (!new.phys_mem[i])
> + if (user_alloc) {
> + unsigned long pages_num;
> +
> + new.user_alloc = 1;
> + down_read(¤t->mm->mmap_sem);
> +
> + pages_num = get_user_pages(current, current->mm,
> + mem->userspace_addr,
> + npages, 1, 0, new.phys_mem,
> + NULL);
> +
>
I just combined a patch that changes the 'force' parameter to
get_user_pages from 0 to 1, into this patch, to avoid introducing a bug
and its fix in the same patchset. I won't be resending this patch since
the change is too trivial. Same change applies to patch 48, "KVM: MMU:
Partial swapping of guest memory".
--
error compiling committee.c: too many arguments to function
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists