Re: [PATCH v17 1/5] mm: add VM_DROPPABLE for designating always lazily freeable mappings

John Hubbard
2024-06-15T02:12:52Z

On 6/14/24 12:06 PM, Jason A. Donenfeld wrote:
...
> diff --git a/mm/Kconfig b/mm/Kconfig
> index b4cb45255a54..6cd65ea4b3ad 100644
> --- a/mm/Kconfig
> +++ b/mm/Kconfig
> @@ -1056,6 +1056,9 @@ config ARCH_USES_HIGH_VMA_FLAGS
> bool
> config ARCH_HAS_PKEYS
> bool
> +config NEED_VM_DROPPABLE
> + select ARCH_USES_HIGH_VMA_FLAGS

Hi Jason!

The naming and use of NEED_VM_DROPPABLE are a little bit backwards. :)
First of all, the name should probably be:

HAVE_VM_DROPPABLE

...although that doesn't yet work here. And the reason it doesn't work
yet is that the logic also needs to change: only the arch layers should
be doing this:

select ARCH_USES_HIGH_VMA_FLAGS

If a feature does it, then the logic and dependency tree gets all weird
and wrong.

So:

a) 64-bit arches should do this part:

select ARCH_USES_HIGH_VMA_FLAGS (already done, in most cases) select
HAVE_VM_DROPPABLE

b) VDSO_GETRANDOM should depend on:

HAVE_VM_DROPPABLE

...and then you'll find that the uses of HAVE_VM_DROPPABLE read more
like the pre-existing cases of other "HAVE_" items, too.

thanks,
--
John Hubbard
NVIDIA