netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next 0/3] make skip_sw actually skip software
@ 2024-02-15 16:04 Asbjørn Sloth Tønnesen
  2024-02-15 16:04 ` [PATCH net-next 1/3] net: sched: cls_api: add skip_sw counter Asbjørn Sloth Tønnesen
                   ` (3 more replies)
  0 siblings, 4 replies; 20+ messages in thread
From: Asbjørn Sloth Tønnesen @ 2024-02-15 16:04 UTC (permalink / raw)
  To: Jamal Hadi Salim, Cong Wang, Jiri Pirko
  Cc: Asbjørn Sloth Tønnesen, Daniel Borkmann, netdev,
	linux-kernel, llu

Hi,

During development of flower-route[1], which I
recently presented at FOSDEM[2], I noticed that
CPU usage, would increase the more rules I installed
into the hardware for IP forwarding offloading.

Since we use TC flower offload for the hottest
prefixes, and leave the long tail to Linux / the CPU.
we therefore need both the hardware and software
datapath to perform well.

I found that skip_sw rules, are quite expensive
in the kernel datapath, sice they must be evaluated
and matched upon, before the kernel checks the
skip_sw flag.

This patchset optimizes the case where all rules
are skip_sw.

[1] flower-route
    https://github.com/fiberby-dk/flower-route

[2] FOSDEM talk
    https://fosdem.org/2024/schedule/event/fosdem-2024-3337-flying-higher-hardware-offloading-with-bird/

Asbjørn Sloth Tønnesen (3):
  net: sched: cls_api: add skip_sw counter
  net: sched: cls_api: add filter counter
  net: sched: make skip_sw actually skip software

 include/net/pkt_cls.h     |  5 +++++
 include/net/sch_generic.h |  3 +++
 net/core/dev.c            |  3 +++
 net/sched/cls_api.c       | 24 ++++++++++++++++++++++++
 4 files changed, 35 insertions(+)

-- 
Best regards
Asbjørn Sloth Tønnesen
Network Engineer
Fiberby ApS

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2024-02-16 15:07 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-15 16:04 [PATCH net-next 0/3] make skip_sw actually skip software Asbjørn Sloth Tønnesen
2024-02-15 16:04 ` [PATCH net-next 1/3] net: sched: cls_api: add skip_sw counter Asbjørn Sloth Tønnesen
2024-02-15 17:39   ` Jamal Hadi Salim
2024-02-15 23:34     ` Asbjørn Sloth Tønnesen
2024-02-16  8:35       ` Vlad Buslov
2024-02-16 12:52   ` Jiri Pirko
2024-02-15 16:04 ` [PATCH net-next 2/3] net: sched: cls_api: add filter counter Asbjørn Sloth Tønnesen
2024-02-15 17:25   ` Jiri Pirko
2024-02-15 23:19     ` Asbjørn Sloth Tønnesen
2024-02-15 16:04 ` [PATCH net-next 3/3] net: sched: make skip_sw actually skip software Asbjørn Sloth Tønnesen
2024-02-15 17:49   ` Jamal Hadi Salim
2024-02-16 12:57     ` Jiri Pirko
2024-02-16 15:07       ` Jamal Hadi Salim
2024-02-16 13:38     ` Asbjørn Sloth Tønnesen
2024-02-16  8:47   ` Vlad Buslov
2024-02-16 14:01     ` Asbjørn Sloth Tønnesen
2024-02-15 18:00 ` [PATCH net-next 0/3] " Marcelo Ricardo Leitner
2024-02-16  8:44   ` Vlad Buslov
2024-02-16 12:17   ` Asbjørn Sloth Tønnesen
2024-02-16 14:46     ` Marcelo Ricardo Leitner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).