Message ID | 20240415133807.116394-1-hengqi@linux.alibaba.com (mailing list archive) |
---|---|
Headers | show |
Series | ethtool: provide the dim profile fine-tuning channel | expand |
On Mon, Apr 15, 2024 at 09:38:03PM +0800, Heng Qi wrote: > The NetDIM library provides excellent acceleration for many modern > network cards. However, the default profiles of DIM limits its maximum > capabilities for different NICs, so providing a way which the NIC can > be custom configured is necessary. > > Currently, interaction with the driver is still based on the commonly > used "ethtool -C". > > Since the profile now exists in netdevice, adding a function similar > to net_dim_get_rx_moderation_dev() with netdevice as argument is > nice, but this would be better along with cleaning up the rest of > the drivers, which we can get to very soon after this set. > > Please review, thank you very much! Acked-by: Michael S. Tsirkin <mst@redhat.com> > Changelog > ===== > v6->v7: > - A new wrapper struct pointer is used in struct net_device. > - Add IS_ENABLED(CONFIG_DIMLIB) to avoid compiler warnings. > - Profile fields changed from u16 to u32. > > v5->v6: > - Place the profile in netdevice to bypass the driver. > The interaction code of ethtool <-> kernel has not changed at all, > only the interaction part of kernel <-> driver has changed. > > v4->v5: > - Update some snippets from Kuba, Thanks. > > v3->v4: > - Some tiny updates and patch 1 only add a new comment. > > v2->v3: > - Break up the attributes to avoid the use of raw c structs. > - Use per-device profile instead of global profile in the driver. > > v1->v2: > - Use ethtool tool instead of net-sysfs > > Heng Qi (4): > linux/dim: move useful macros to .h file > ethtool: provide customized dim profile management > virtio-net: refactor dim initialization/destruction > virtio-net: support dim profile fine-tuning > > Heng Qi (4): > linux/dim: move useful macros to .h file > ethtool: provide customized dim profile management > virtio-net: refactor dim initialization/destruction > virtio-net: support dim profile fine-tuning > > Documentation/netlink/specs/ethtool.yaml | 33 +++ > Documentation/networking/ethtool-netlink.rst | 8 + > drivers/net/virtio_net.c | 46 +++-- > include/linux/dim.h | 13 ++ > include/linux/ethtool.h | 11 +- > include/linux/netdevice.h | 24 +++ > include/uapi/linux/ethtool_netlink.h | 24 +++ > lib/dim/net_dim.c | 10 +- > net/core/dev.c | 83 ++++++++ > net/ethtool/coalesce.c | 201 ++++++++++++++++++- > 10 files changed, 430 insertions(+), 23 deletions(-) > > -- > 2.32.0.3.g01195cf9f
在 2024/4/23 上午4:55, Michael S. Tsirkin 写道: > On Mon, Apr 15, 2024 at 09:38:03PM +0800, Heng Qi wrote: >> The NetDIM library provides excellent acceleration for many modern >> network cards. However, the default profiles of DIM limits its maximum >> capabilities for different NICs, so providing a way which the NIC can >> be custom configured is necessary. >> >> Currently, interaction with the driver is still based on the commonly >> used "ethtool -C". >> >> Since the profile now exists in netdevice, adding a function similar >> to net_dim_get_rx_moderation_dev() with netdevice as argument is >> nice, but this would be better along with cleaning up the rest of >> the drivers, which we can get to very soon after this set. >> >> Please review, thank you very much! > > Acked-by: Michael S. Tsirkin <mst@redhat.com> Hi Michael, Thanks for your ACK, the profile series has progressed to v9 and is still being iterated. it would be better to collect your tag again in a newer version. Thanks! > >> Changelog >> ===== >> v6->v7: >> - A new wrapper struct pointer is used in struct net_device. >> - Add IS_ENABLED(CONFIG_DIMLIB) to avoid compiler warnings. >> - Profile fields changed from u16 to u32. >> >> v5->v6: >> - Place the profile in netdevice to bypass the driver. >> The interaction code of ethtool <-> kernel has not changed at all, >> only the interaction part of kernel <-> driver has changed. >> >> v4->v5: >> - Update some snippets from Kuba, Thanks. >> >> v3->v4: >> - Some tiny updates and patch 1 only add a new comment. >> >> v2->v3: >> - Break up the attributes to avoid the use of raw c structs. >> - Use per-device profile instead of global profile in the driver. >> >> v1->v2: >> - Use ethtool tool instead of net-sysfs >> >> Heng Qi (4): >> linux/dim: move useful macros to .h file >> ethtool: provide customized dim profile management >> virtio-net: refactor dim initialization/destruction >> virtio-net: support dim profile fine-tuning >> >> Heng Qi (4): >> linux/dim: move useful macros to .h file >> ethtool: provide customized dim profile management >> virtio-net: refactor dim initialization/destruction >> virtio-net: support dim profile fine-tuning >> >> Documentation/netlink/specs/ethtool.yaml | 33 +++ >> Documentation/networking/ethtool-netlink.rst | 8 + >> drivers/net/virtio_net.c | 46 +++-- >> include/linux/dim.h | 13 ++ >> include/linux/ethtool.h | 11 +- >> include/linux/netdevice.h | 24 +++ >> include/uapi/linux/ethtool_netlink.h | 24 +++ >> lib/dim/net_dim.c | 10 +- >> net/core/dev.c | 83 ++++++++ >> net/ethtool/coalesce.c | 201 ++++++++++++++++++- >> 10 files changed, 430 insertions(+), 23 deletions(-) >> >> -- >> 2.32.0.3.g01195cf9f