Re: [PATCH v2 3/5] generic/pgtable: Introduce set_pte_safe()

From: Dave Hansen
Date: Mon Dec 03 2018 - 12:53:04 EST


On 11/30/18 4:35 PM, Dan Williams wrote:
> +/*
> + * The _safe versions of set_{pte,pmd,pud,p4d,pgd} validate that the
> + * entry was not populated previously. I.e. for cases where a flush-tlb
> + * is elided, double-check that there is no stale mapping to shoot down.
> + */

Functionally these look great to me.

The only thing I'd suggest is to make the comment more about when to use
these, instead of what they do:

Use the set_p*_safe() version when confident that *no*
TLB flush will be required as a result of the "set", such
as setting non-present entries or when possibly superfluously
re-setting an entry.