On Sun, Jan 07, 2018 at 06:57:35PM -0800, Alexei Starovoitov wrote: > On Sun, Jan 07, 2018 at 01:59:35PM +0000, Alan Cox wrote: > > lfence timing is also heavily dependent upon what work has to be done to > > retire previous live instructions. > > BPF does not normally do a lot of writing so you'd expect the cost to be low. > > right. to retire previous loads. Not sure what 'not a lot of writing' > has to do with lfence. LFENCE will wait for completion on _ALL_ prior instructions, not just loads. Stores are by far the most expensive instructions to wait for, as they only complete once their value is globally visible (on x86).