On Wed, 8 May 2024 21:26:46 +0800 Heng Qi wrote: > On Tue, 7 May 2024 19:57:52 -0700, Jakub Kicinski <kuba@xxxxxxxxxx> wrote: > > On Sat, 4 May 2024 14:44:45 +0800 Heng Qi wrote: > > > @@ -1325,6 +1354,8 @@ operations: > > > - tx-aggr-max-bytes > > > - tx-aggr-max-frames > > > - tx-aggr-time-usecs > > > + - rx-profile > > > + - tx-profil > > > dump: *coalesce-get-op > > > - > > > name: coalesce-set > > > > set probably needs to get the new attributes, too? > > I looked at other similar use cases (such as wol, debug) and it doesn't > seem to be needed? Sorry, you're right, they are propagated using a YAML alias. > > > +static int ethnl_update_profile(struct net_device *dev, > > > + struct dim_cq_moder __rcu **dst, > > > + const struct nlattr *nests, > > > + struct netlink_ext_ack *extack) > > > > > + rcu_assign_pointer(*dst, new_profile); > > > + kfree_rcu(old_profile, rcu); > > > + > > > + return 0; > > > > Don't we need to inform DIM somehow that profile has switched > > and it should restart itself? > > When the profile is modified, dim itself is a dynamic adjustment mechanism > and will quickly adjust to the appropriate value according to the new profile. > This is also seen in practice. Okay, perhaps add a comment to that effect?