On Thu, Sep 08, 2016 at 10:24:32PM -0700, Cong Wang wrote: > On Thu, Sep 8, 2016 at 8:35 AM, Eric Dumazet <eric.duma...@gmail.com> wrote: > > From: Eric Dumazet <eduma...@google.com> > > > > As reported by Cong Wang, I was lazy when I did initial RCU conversion > > of tc_mirred, as I thought I could avoid allocation/freeing of a > > parameter block. > > Quote from Eric Dumazet: > > https://www.mail-archive.com/netdev@vger.kernel.org/msg115482.html > > <Quote> > Well, I added a READ_ONCE() to read tcf_action once. > > Adding rcu here would mean adding a pointer and extra cache line, to > deref the values. > > IMHO the race here has no effect . You either read the old or new value. > </Quote> > > Me with facepalm... ;-)
imo the deliberate small race in Eric's initial lock removal in mirred was a good design choice. I think he did this patch only to silence the complains with the code instead of arguing with words. imo the initial code is good as-is. This patch is also a nice improvement, but certainly not mandatory. 'face palm' is unnecessary.