Re: [PATCH 02/12] mm/pgtable: add PAE safety to __pte_offset_map()
From: Matthew Wilcox
Date: Mon May 29 2023 - 09:59:34 EST
On Sun, May 28, 2023 at 11:16:16PM -0700, Hugh Dickins wrote:
> +#if defined(CONFIG_GUP_GET_PXX_LOW_HIGH) && \
> + (defined(CONFIG_SMP) || defined(CONFIG_PREEMPT_RCU))
> +/*
> + * See the comment above ptep_get_lockless() in include/linux/pgtable.h:
> + * the barriers in pmdp_get_lockless() cannot guarantee that the value in
> + * pmd_high actually belongs with the value in pmd_low; but holding interrupts
> + * off blocks the TLB flush between present updates, which guarantees that a
> + * successful __pte_offset_map() points to a page from matched halves.
> + */
> +#define config_might_irq_save(flags) local_irq_save(flags)
> +#define config_might_irq_restore(flags) local_irq_restore(flags)
> +#else
> +#define config_might_irq_save(flags)
> +#define config_might_irq_restore(flags)
I don't like the name. It should indicate that it's PMD-related, so
pmd_read_start(flags) / pmd_read_end(flags)?