Re: [GIT PULL] KVM updates for the 2.6.38 merge window

From: Linus Torvalds
Date: Thu Jan 13 2011 - 10:44:53 EST


On Thu, Jan 13, 2011 at 4:53 AM, Gleb Natapov <gleb@xxxxxxxxxx> wrote:
>
> I implemented get_user_pages_nowait() on top of your patch. In my testing
> it works as expected when used inside KVM. Does this looks OK to you?

It looks reasonable, although I suspect the subtle behavior wrt the
mmap_sem means that you should not expose the magic bare
FAULT_FLAG_ALLOW_RETRY flag to the __get_user_pages() thing. It's just
too easy to introduce bugs, methinks.

So I'd suggest

- drop FOLL_RETRY

- make FOLL_NOWAIT set both (FAULT_FLAG_ALLOW_RETRY | FAULT_FLAG_NOWAIT)

and that way the get_user_pages() thing will never release the
mmap_sem, and you never have any subtle locking issues for that
particular interface.

But some other VM person should look at it too.

Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/