Message ID | 1626053698-46849-1-git-send-email-huangguangbin2@huawei.com |
---|---|
Headers | show |
Series | net: hns3: add support devlink | expand |
On Mon, 12 Jul 2021 09:34:50 +0800 Guangbin Huang wrote: > +Parameters > +========== > + > +The ``hns3`` driver implements the following driver-specific > +parameters. > + > +.. list-table:: Driver-specific parameters implemented > + :widths: 10 10 10 70 > + > + * - Name > + - Type > + - Mode > + - Description > + * - ``rx_buf_len`` > + - U32 > + - driverinit > + - Set rx BD buffer size. > + * Now only support setting 2048 and 4096. Can you elaborate further? If I was a user reading this I'd still have little confidence what this does. Does it change the size of each buffer put on the Rx ring between 2k and 4k? Why is that a devlink feature, we configure rings via ethtool. > + * - ``tx_buf_size`` > + - U32 > + - driverinit > + - Set tx spare buf size. > + > + * The size is setted for tx bounce feature. ... and what is the tx bounce feature?
On 2021/7/13 2:32, Jakub Kicinski wrote: > On Mon, 12 Jul 2021 09:34:50 +0800 Guangbin Huang wrote: >> +Parameters >> +========== >> + >> +The ``hns3`` driver implements the following driver-specific >> +parameters. >> + >> +.. list-table:: Driver-specific parameters implemented >> + :widths: 10 10 10 70 >> + >> + * - Name >> + - Type >> + - Mode >> + - Description >> + * - ``rx_buf_len`` >> + - U32 >> + - driverinit >> + - Set rx BD buffer size. >> + * Now only support setting 2048 and 4096. > > Can you elaborate further? If I was a user reading this I'd still have > little confidence what this does. Does it change the size of each > buffer put on the Rx ring between 2k and 4k? Why is that a devlink > feature, we configure rings via ethtool. > Yes, we can add more detailed descriptions about this feature and tx_buf_size in V2. This devlink feature is to change the buffer size of each BD of Rx ring between 2KB and 4KB. Now ethtool -G paramter supports setting some ring configurations such as queue depth and so on,but not supports setting rx BD buffer size. And devlink can support this function. For another thing, setting rx BD buffer size needs to reload resource pool(for resource pool details, see the link: [1]) to take effect, so even if ethtool support this function, it still needs next reload to take effect. Now devlink supports reload operation(patch 6/9), so we can set rx BD buffer size via devlink, then do devlink reload operation to make it take effect. To sum up, we choose devlink to set rx BD buffer size. >> + * - ``tx_buf_size`` >> + - U32 >> + - driverinit >> + - Set tx spare buf size. >> + >> + * The size is setted for tx bounce feature. > > ... and what is the tx bounce feature? > . > Tx bounce buffer feature is used for small size packet or frag. It adds a queue based tx shared bounce buffer to memcpy the small packet when the len of xmitted skb is below tx_copybreak(value to distinguish small size and normal size), and reduce the overhead of dma map and unmap when IOMMU is on. For more details, see link: [2], this devlink feature is setting tx bounce buffer size for it. 1. https://lore.kernel.org/patchwork/cover/816549/ 2. https://patchwork.kernel.org/project/netdevbpf/patch/1623825377-41948-4-git-send-email-huangguangbin2@huawei.com/