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

2018-12-03 Thread Dan Williams
On Mon, Dec 3, 2018 at 9:53 AM Dave Hansen wrote: > > 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

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

2018-12-03 Thread Dan Williams
On Mon, Dec 3, 2018 at 9:53 AM Dave Hansen wrote: > > 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

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

2018-12-03 Thread Dave Hansen
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

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

2018-12-03 Thread Dave Hansen
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

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

2018-11-30 Thread Dan Williams
Commit f77084d96355 "x86/mm/pat: Disable preemption around __flush_tlb_all()" introduced a warning to capture cases __flush_tlb_all() is called without pre-emption disabled. It triggers a false positive warning in the memory hotplug path. On investigation it was found that the __flush_tlb_all()

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

2018-11-30 Thread Dan Williams
Commit f77084d96355 "x86/mm/pat: Disable preemption around __flush_tlb_all()" introduced a warning to capture cases __flush_tlb_all() is called without pre-emption disabled. It triggers a false positive warning in the memory hotplug path. On investigation it was found that the __flush_tlb_all()