在 2024/4/10 上午9:40, Jakub Kicinski 写道:
On Tue, 9 Apr 2024 20:03:24 +0800 Heng Qi wrote:
+ /* DIM profile list */
+ struct dim_cq_moder rx_eqe_conf[NET_DIM_PARAMS_NUM_PROFILES];
Can you please wrap this into a structure with other necessary
information and add a pointer in struct net_device instead.
What's the point of every single driver implementing the same
boilerplate memcpy() in its get_coalesce / set_coalesce callbacks?
The point is that the driver may check whether the user has set
parameters that it does not want.
For example, virtio may not want the modification of comps, and ice/idpf
may not want the modification
of comps and pkts.
But you inspired me to think from another perspective. If parameters are
placed in netdevice, the
goal of user modification is to modify the profile of netdevice, and the
driver can obtain its own
target parameters from it as needed. Do you like this?
In addition, if the netdevice way is preferred, I would like to confirm
whether we still continue the
"ethtool -C" way, that is, complete the modification of netdevice
profile in __ethnl_set_coalesce()?
Thanks.