Messages in this thread | | | Subject | Re: [PATCH v2 11/11] powerpc/mm/book3s64/pgtable: Uses counting method to skip serializing | From | John Hubbard <> | Date | Mon, 23 Sep 2019 13:26:48 -0700 |
| |
On 9/23/19 1:23 PM, Leonardo Bras wrote: > 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? > >
Yes.
thanks, -- John Hubbard NVIDIA
| |