Re: [PATCH net-next v3 0/3] make skip_sw actually skip software

From: Asbjørn Sloth Tønnesen
Date: Mon Mar 11 2024 - 18:06:06 EST


Hi Kuba,

On 3/11/24 8:44 PM, Jakub Kicinski wrote:
On Wed, 6 Mar 2024 16:58:08 +0000 Asbjørn Sloth Tønnesen wrote:
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 the normal (non-TC)
Linux network stack for slow-path IP forwarding.
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, since 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, by implementing a TC bypass for these
cases, where TC is only used as a control plane
for the hardware path.

Linus tagged v6.8 and the merge window for v6.9 has started.
This feels a bit too risky for me to apply last minute,
could you repost in 2 weeks once the merge window is over?

Sure, I will repost once net-next opens back up again.

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