On Thu, Sep 08, 2016 at 10:24:32PM -0700, Cong Wang wrote:
On Thu, Sep 8, 2016 at 8:35 AM, Eric Dumazet [off-list ref] wrote:
quoted
From: Eric Dumazet <redacted>
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.