Re: [PATCH RFC v2 1/2] can: fix multiple delivery of a single CAN frame for overlapping CAN filters
From: Oliver Hartkopp <socketcan@hartkopp.net>
Date: 2015-03-30 15:49:34
Also in:
linux-can
From: Oliver Hartkopp <socketcan@hartkopp.net>
Date: 2015-03-30 15:49:34
Also in:
linux-can
On 30.03.2015 14:33, Sergei Shtylyov wrote:
On 3/29/2015 9:09 PM, Oliver Hartkopp wrote:quoted
+ /* eliminate multiple filter matches for the same skb */ + if (*this_cpu_ptr(ro->uniq_skb) == oskb && + ktime_equal(*this_cpu_ptr(ro->uniq_tstamp), oskb->tstamp)) { + return;Over-indented.
I was asked about that before. AFAIK the *skb is no unique identifier over a longer period of time. But together with the timestamp it becomes unique. Or do you have a better solution to detect identical skbs? CAN skbs do not have a (rx)hash so far and I wonder if it's worth to compute the hash in favor to check the *skb and the timestamp here ...
quoted
+ + ro->uniq_tstamp = alloc_percpu(ktime_t); + if (unlikely(ro->uniq_tstamp == NULL)) {!ro->uniq_tstamp is preferred in the networking code.
Ok. Will change that. Best regards, Oliver
[...] WBR, Sergei