Messages in this thread | | | Subject | Re: [PATCH v2 11/11] powerpc/mm/book3s64/pgtable: Uses counting method to skip serializing | From | Leonardo Bras <> | Date | Mon, 23 Sep 2019 17:23:03 -0300 |
| |
On Mon, 2019-09-23 at 12:58 -0700, John Hubbard wrote: > > CPU 0 CPU 1 > ------ -------------- > READ(pte) (re-ordered at run time) > atomic_inc(val) (no run-time memory barrier!) > > pmd_clear(pte) > if (val) > run_on_all_cpus(): IPI > local_irq_disable() (also not a mem barrier) > > if(pte) > walk page tables
Let me see if I can understand, On most patches, it would be:
CPU 0 CPU 1 ------ -------------- ptep = __find_linux_pte (re-ordered at run time) atomic_inc(val) pmd_clear(pte) smp_mb() if (val) run_on_all_cpus(): IPI local_irq_disable()
if(ptep) pte = *ptep;
Is that what you meant?
[unhandled content-type:application/pgp-signature] | |