Re: zap_page_range(): TLB flush race

Alan Cox
2000-04-08T23:37:05Z

> > Yes, establish_pte() is broken. We should reverse the calls:
> >
> > set_pte(); /* update the kernel page tables */
> > update_mmu(); /* update architecture specific page tables. */
> > flush_tlb(); /* and flush the hardware tlb */
> >
>
> People are aware of this too, it was introduced during the 390 merge.
> I tried talking to the IBM guy about this, I didn't see a response from
> him ...

Strange since I did and it included you

> I think what we now need is a critical mass, something that will make us
> go "okay, lets just fix these races once and for all".

Basically establish_pte() has to be architecture specific, as some processors
need different orders either to avoid races or to handle cpu specific
limitations.

Alan