Thread (25 messages) flat view 25 messages, 4 authors, 9d ago

Re: [PATCH net-next v8 1/6] net: rtnetlink: add pacing_offload_horizon attribute to net_device

From: Jakub Kicinski <kuba@kernel.org>
Date: 2026-09-08 23:34:48

On Tue, 8 Sep 2026 18:39:20 -0400 Willem de Bruijn wrote:
On Tue, Sep 8, 2026 at 5:48 PM Jakub Kicinski [off-list ref] wrote:
quoted
It's just a way of avoiding netdev_features_t becoming larger than 64b.
At the uAPI level we have a bitmap so we can express any number of bits.
But in the kernel dev->features is u64 / ull so if we run out of bits
the refactor will be rather painful.

Is it really that much worse to add the support for "high feature bits"
which don't go thru netdev_features_t to ethtool, than sprinkling extra
one off booleans into already bloated RTM_SETLINK? Not sure.  
How would this work with hw_features, wanted_features, vlan_features
and other such feature masks?

There is potentially quite a bit of logic that needs to be duplicated
for a secondary set of features. Or, the risk that these features end
up not quite like normal features.
No different than a loose bit in SETLINK?

What I was wondering is - we don't want to implement full handling for
high feature bits, agreed, it doesn't seem needed today. But is it
better to add such a bit in ethtool regardless, even tho it doesn't get
any infra for propagation to uppers etc. Or is it better to start adding
one-off bits in rt-link.

Think about it some more, since the max-horizon attr is already in
rt-link I guess putting this bit in rt-link does make more sense.
quoted
I hate both notifiers everywhere and the idea that we have to be able
to quietly revoke device features "on firmware rollout". It leads to
unmaintainable code which almost never runs so it's buggy half of the
time. Whatever.  
I don't like it, but firmware roll-outs that remove features
unfortunately are a real thing. Especially roll-backs.

For pacing offload specifically, I considered the risk low enough to
rely on the admin to manually revert the FQ settings when such an
event happens. But the bots kept complaining. And in fairness a
notifier based auto disable is indeed much more robust than a manual
correlated roll-out. OTOH, it is rarely exercised code in practice and
thus more prone to latent bugs.
TBH I'm not sure what you have in mind with the notifier.
What netdev event does the FW reset generate? 
 
A simpler approach for pacing offload is to check the dev fields
directly in fq. It is likely that that cacheline is warm.
Right, there's ~30b of unused flag space in the first cache line
of struct net_device. Should be warm.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help