Hi Nadav, On Mon, Aug 14, 2017 at 05:07:19AM +0000, Nadav Amit wrote: < snip >
> For some reason (I would assume intentional), all the examples here first > “do not modify” the PTE, and then modify it - which is not an “interesting” > case. However, based on what I understand on the memory barriers, I think > there is indeed a missing barrier before reading it in > mm_tlb_flush_nested(). IIUC using smp_mb__after_unlock_lock() in this case, memory-barrier.txt always scares me. I have read it for a while and IIUC, it seems semantic of spin_unlock(&same_pte) would be enough without some memory-barrier inside mm_tlb_flush_nested. I would be missing something totally. Could you explain what kinds of sequence you have in mind to have such problem? Thanks.