Re: [RFC v3 PATCH 2/5] mm: introduce VM_DEAD flag

From: Michal Hocko
Date: Mon Jul 02 2018 - 09:40:51 EST


On Sat 30-06-18 06:39:42, Yang Shi wrote:
> VM_DEAD flag is used to mark a vma is being unmapped, access to this
> area will trigger SIGSEGV.
>
> This flag will be used by the optimization for unmapping large address
> space (>= 1GB) in the later patch. It is 64 bit only at the moment,
> since:
> * we used up vm_flags bit for 32 bit
> * 32 bit machine typically will not have such large mapping
>
> All architectures, which support 64 bit, need check this flag in their
> page fault handler. This is implemented in later patches.

Please add a new flag with its users. There is simply no way to tell the
semantic from the above description and the patch as well.

> Suggested-by: Michal Hocko <mhocko@xxxxxxxxxx>
> Signed-off-by: Yang Shi <yang.shi@xxxxxxxxxxxxxxxxx>
> ---
> include/linux/mm.h | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/include/linux/mm.h b/include/linux/mm.h
> index a0fbb9f..28a3906 100644
> --- a/include/linux/mm.h
> +++ b/include/linux/mm.h
> @@ -242,6 +242,12 @@ extern int overcommit_kbytes_handler(struct ctl_table *, int, void __user *,
> #endif
> #endif /* CONFIG_ARCH_HAS_PKEYS */
>
> +#ifdef CONFIG_64BIT
> +#define VM_DEAD BIT(37) /* bit only usable on 64 bit kernel */
> +#else
> +#define VM_DEAD 0
> +#endif
> +
> #if defined(CONFIG_X86)
> # define VM_PAT VM_ARCH_1 /* PAT reserves whole VMA at once (x86) */
> #elif defined(CONFIG_PPC)
> --
> 1.8.3.1

--
Michal Hocko
SUSE Labs