Re: [kvm-devel] [patch 2/6] mmu_notifier: Callbacks to invalidate address ranges

Christoph Lameter
2008-01-31T02:37:37Z

On Wed, 30 Jan 2008, Robin Holt wrote:

> > Well the GRU uses follow_page() instead of get_user_pages. Performance is
> > a major issue for the GRU.
>
> Worse, the GRU takes its TLB faults from within an interrupt so we
> use follow_page to prevent going to sleep. That said, I think we
> could probably use follow_page() with FOLL_GET set to accomplish the
> requirements of mmu_notifier invalidate_range call. Doesn't look too
> promising for hugetlb pages.

There may be no need to with the range_start/end scheme. The driver can
have its own lock to make follow page secure. The lock needs to serialize
the follow_page handler and the range_start/end calls as well as the
invalidate_page callouts. I think that avoids the need for
get_user_pages().