Re: [PATCH 2/5] mmu_notifier: keep track of active invalidation ranges

From: Rik van Riel
Date: Thu Nov 06 2014 - 16:04:19 EST


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 11/03/2014 03:42 PM, j.glisse@xxxxxxxxx wrote:
> From: JÃrÃme Glisse <jglisse@xxxxxxxxxx>
>
> The mmu_notifier_invalidate_range_start() and
> mmu_notifier_invalidate_range_end() can be considered as forming
> an "atomic" section for the cpu page table update point of view.
> Between this two function the cpu page table content is unreliable
> for the address range being invalidated.
>
> Current user such as kvm need to know when they can trust the
> content of the cpu page table. This becomes even more important to
> new users of the mmu_notifier api (such as HMM or ODP).
>
> This patch use a structure define at all call site to
> invalidate_range_start() that is added to a list for the duration
> of the invalidation. It adds two new helpers to allow querying if
> a range is being invalidated or to wait for a range to become
> valid.
>
> For proper synchronization, user must block new range invalidation
> from inside there invalidate_range_start() callback, before
> calling the helper functions. Otherwise there is no garanty that a
> new range invalidation will not be added after the call to the
> helper function to query for existing range.
>
> Signed-off-by: JÃrÃme Glisse <jglisse@xxxxxxxxxx>

Reviewed-by: Rik van Riel <riel@xxxxxxxxxx>

- --
All rights reversed
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQEcBAEBAgAGBQJUW+IYAAoJEM553pKExN6DGQ0H/AsZn+UKNsKtys8kCnouMzvM
SiCZQE4xCTdYM/vvyhg6Iw1INz0aNescYRhI2k++S16vgaaleXEDXthJ2gKO8qB7
dgZ3eBDj9SzYVee6i779w77Eq9w1nhoPLyzTMpyYyB5PvfwKU8kq/j44rBNFVkdU
byKnQzWvzOkaAtifvsZYR/uTABB8D39O+++mARy39SqZRBDtb3aGL/4QidHI52qD
OEqtRFTftZ/yaeKvmrGw16e6NtAiE9IN/51pGuSH8vLjg9v884lnealMtfuLPbKR
e3LXaWZfl3cRJkBQjqe252wNHvqCX7T1dKBI0+V3rMqQuUHyuKLGg+Rq6NX1b7Q=
=sdxT
-----END PGP SIGNATURE-----
--
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/