Merge branch 'ethtool-extend-coalesce-uapi'
Yufeng Mo says: ==================== ethtool: extend coalesce uAPI In order to support some configuration in coalesce uAPI, this series extend coalesce uAPI and add support for CQE mode. Below is some test result with HNS3 driver: 1. old ethtool(ioctl) + new kernel: estuary:/$ ethtool -c eth0 Coalesce parameters for eth0: Adaptive RX: on TX: on stats-block-usecs: 0 sample-interval: 0 pkt-rate-low: 0 pkt-rate-high: 0 rx-usecs: 20 rx-frames: 0 rx-usecs-irq: 0 rx-frames-irq: 0 tx-usecs: 20 tx-frames: 0 tx-usecs-irq: 0 tx-frames-irq: 0 rx-usecs-low: 0 rx-frame-low: 0 tx-usecs-low: 0 tx-frame-low: 0 rx-usecs-high: 0 rx-frame-high: 0 tx-usecs-high: 0 tx-frame-high: 0 2. ethtool(netlink with cqe mode) + kernel without cqe mode: estuary:/$ ethtool -c eth0 Coalesce parameters for eth0: Adaptive RX: on TX: on stats-block-usecs: n/a sample-interval: n/a pkt-rate-low: n/a pkt-rate-high: n/a rx-usecs: 20 rx-frames: 0 rx-usecs-irq: n/a rx-frames-irq: n/a tx-usecs: 20 tx-frames: 0 tx-usecs-irq: n/a tx-frames-irq: n/a rx-usecs-low: n/a rx-frame-low: n/a tx-usecs-low: n/a tx-frame-low: n/a rx-usecs-high: 0 rx-frame-high: n/a tx-usecs-high: 0 tx-frame-high: n/a CQE mode RX: n/a TX: n/a 3. ethool(netlink with cqe mode) + kernel with cqe mode: estuary:/$ ethtool -c eth0 Coalesce parameters for eth0: Adaptive RX: on TX: on stats-block-usecs: n/a sample-interval: n/a pkt-rate-low: n/a pkt-rate-high: n/a rx-usecs: 20 rx-frames: 0 rx-usecs-irq: n/a rx-frames-irq: n/a tx-usecs: 20 tx-frames: 0 tx-usecs-irq: n/a tx-frames-irq: n/a rx-usecs-low: n/a rx-frame-low: n/a tx-usecs-low: n/a tx-frame-low: n/a rx-usecs-high: 0 rx-frame-high: n/a tx-usecs-high: 0 tx-frame-high: n/a CQE mode RX: off TX: off 4. ethool(netlink without cqe mode) + kernel with cqe mode: estuary:/$ ethtool -c eth0 Coalesce parameters for eth0: Adaptive RX: on TX: on stats-block-usecs: n/a sample-interval: n/a pkt-rate-low: n/a pkt-rate-high: n/a rx-usecs: 20 rx-frames: 0 rx-usecs-irq: n/a rx-frames-irq: n/a tx-usecs: 20 tx-frames: 0 tx-usecs-irq: n/a tx-frames-irq: n/a rx-usecs-low: n/a rx-frame-low: n/a tx-usecs-low: n/a tx-frame-low: n/a rx-usecs-high: 0 rx-frame-high: n/a tx-usecs-high: 0 tx-frame-high: n/a Change log: V2 -> V3: fix some warning on W=1 builds in #2 V1 -> V2: 1. fix compile error using allmodconfig in #2 2. move some property-related modifications from #2 to #1 for better review suggested by Jakub Kicinski. Change log from RFC: V3 -> V4: add document explaining the difference between CQE and EQE in #1 suggested by Jakub Kicinski. V2 -> V3: 1. split #1 into adding new parameter and adding new attributes. 2. use NLA_POLICY_MAX(NLA_U8, 1) instead of NLA_U8. 3. modify the description of CQE in Document. V1 -> V2: refactor #1 in V1 suggestted by Jakub Kicinski. ==================== Link: https://lore.kernel.org/r/1629444920-25437-1-git-send-email-moyufeng@huawei.com Signed-off-by:Jakub Kicinski <kuba@kernel.org>
No related branches found
No related tags found
Showing
- Documentation/networking/ethtool-netlink.rst 15 additions, 0 deletionsDocumentation/networking/ethtool-netlink.rst
- drivers/infiniband/ulp/ipoib/ipoib_ethtool.c 6 additions, 2 deletionsdrivers/infiniband/ulp/ipoib/ipoib_ethtool.c
- drivers/net/ethernet/amazon/ena/ena_ethtool.c 6 additions, 2 deletionsdrivers/net/ethernet/amazon/ena/ena_ethtool.c
- drivers/net/ethernet/amd/xgbe/xgbe-ethtool.c 6 additions, 2 deletionsdrivers/net/ethernet/amd/xgbe/xgbe-ethtool.c
- drivers/net/ethernet/aquantia/atlantic/aq_ethtool.c 6 additions, 2 deletionsdrivers/net/ethernet/aquantia/atlantic/aq_ethtool.c
- drivers/net/ethernet/broadcom/bcmsysport.c 6 additions, 2 deletionsdrivers/net/ethernet/broadcom/bcmsysport.c
- drivers/net/ethernet/broadcom/bnx2.c 8 additions, 4 deletionsdrivers/net/ethernet/broadcom/bnx2.c
- drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c 6 additions, 2 deletionsdrivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c
- drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c 6 additions, 2 deletionsdrivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
- drivers/net/ethernet/broadcom/genet/bcmgenet.c 6 additions, 2 deletionsdrivers/net/ethernet/broadcom/genet/bcmgenet.c
- drivers/net/ethernet/broadcom/tg3.c 8 additions, 2 deletionsdrivers/net/ethernet/broadcom/tg3.c
- drivers/net/ethernet/brocade/bna/bnad_ethtool.c 8 additions, 4 deletionsdrivers/net/ethernet/brocade/bna/bnad_ethtool.c
- drivers/net/ethernet/cavium/liquidio/lio_ethtool.c 6 additions, 2 deletionsdrivers/net/ethernet/cavium/liquidio/lio_ethtool.c
- drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 3 additions, 1 deletiondrivers/net/ethernet/cavium/thunder/nicvf_ethtool.c
- drivers/net/ethernet/chelsio/cxgb/cxgb2.c 6 additions, 2 deletionsdrivers/net/ethernet/chelsio/cxgb/cxgb2.c
- drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c 6 additions, 2 deletionsdrivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
- drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c 6 additions, 2 deletionsdrivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
- drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c 6 additions, 2 deletionsdrivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
- drivers/net/ethernet/cisco/enic/enic_ethtool.c 6 additions, 2 deletionsdrivers/net/ethernet/cisco/enic/enic_ethtool.c
- drivers/net/ethernet/cortina/gemini.c 6 additions, 2 deletionsdrivers/net/ethernet/cortina/gemini.c
Loading
Please register or sign in to comment