Skip to content

RFC can: join filters with per-CPU variables

Oliver Hartkopp linux-can netdev 4 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 RFC Latest2 patches 3 repliesIn review
  2. v2 RFC posting 2/22 patches 14 repliesSuperseded
  3. v2 posting 1/22 patches 3 repliesSuperseded
Earlier versions · 1
VersionPostedPatchesRepliesStatus
v12 patches0 repliesSuperseded

Changes in v3 from the cover letter

* Fix style issues remarked by Sergei Shtylyov and Marc Kleine-Budde
* Indroduced a per-CPU struct as suggested by Marc Kleine-Budde
* omitted the obsolete per-CPU struct data initialization as alloc_percpu provides already zero'ed memory

Patches in v3 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/2can: fix multiple delivery of a single CAN frame for overlapping CAN filtersnet/can/raw.c+21 -03 replies
2/2can: introduce new raw socket option to join the given CAN filtersDocumentation/networking/can.txt include/uapi/linux/can/raw.h net/can/raw.c+49 -30 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v3 yet.

Read the v3 thread

Cover letter [RFC PATCH v3 0/2] can: join filters with per-CPU variables

Hi all,

as Andre Naujoks found some problems in my first patches with multi-threading I did some investigation how to handle variables to be written inside the NET_RX softirq without locking. As far as I was able to test this code it works properly now - even with the multi-thread test from Andre.

If you know how to use per-CPU variables inside NET_RX softirq I would appreciate your review as I'm not that sure that the per-CPU code is correct. It's my first time using this technique and is only what I was able to get from other code examples and available kernel docs.

Many thanks,
Oliver

Changes v1 -> v2:
* Introduce per-CPU variables

Changes v2 -> v3:
* Fix style issues remarked by Sergei Shtylyov and Marc Kleine-Budde
* Indroduced a per-CPU struct as suggested by Marc Kleine-Budde
* omitted the obsolete per-CPU struct data initialization as alloc_percpu provides already zero'ed memory

Oliver Hartkopp (2):
can: fix multiple delivery of a single CAN frame for overlapping CAN
filters
can: introduce new raw socket option to join the given CAN filters

 Documentation/networking/can.txt | 20 ++++++++++++++--
 include/uapi/linux/can/raw.h     |  1 +
 net/can/raw.c                    | 50 ++++++++++++++++++++++++++++++++++++++++
 3 files changed, 69 insertions(+), 2 deletions(-)
Signature · 1 line
2.1.4