Bug 1132

Summary: net/i40e changes recommended Rx ring_size after device start
Product: DPDK Reporter: Andrew Rybchenko (andrew.rybchenko)
Component: ethdevAssignee: Zhang Yuying (yuying.zhang)
Status: UNCONFIRMED ---    
Severity: normal CC: beilei.xing, dev, kaiwenx.deng
Priority: Normal    
Version: 22.11   
Target Milestone: ---   
Hardware: All   
OS: All   

Description Andrew Rybchenko 2022-11-23 09:57:13 CET
net/i40e changes recommended Rx ring_size after device start

NIC is Intel X710

It does not make sense since all Rx queues are typically already configured and started.

It happens because of link_speeds condition above:
790 »·······} else {
 3791 »·······»·······/* For X710 */
 3792 »·······»·······dev_info->speed_capa = RTE_ETH_LINK_SPEED_1G | RTE_ETH_LINK_SPEED_10G;
 3793 »·······»·······dev_info->default_rxportconf.nb_queues = 1;
 3794 »·······»·······dev_info->default_txportconf.nb_queues = 1;
 3795 »·······»·······if (dev->data->dev_conf.link_speeds & RTE_ETH_LINK_SPEED_10G) {
 3796 »·······»·······»·······dev_info->default_rxportconf.ring_size = 512;
 3797 »·······»·······»·······dev_info->default_txportconf.ring_size = 256;
 3798 »·······»·······} else {
 3799 »·······»·······»·······dev_info->default_rxportconf.ring_size = 256;
 3800 »·······»·······»·······dev_info->default_txportconf.ring_size = 256;
 3801 »·······»·······}
 3802 »·······}

which are updated on device start in i40e_apply_link_speed().

Before start default_rxportconf.ring_size is 256, after start it is 512.

Found using [1]

[1] https://ts-factory.io/doc/dpdk-ethdev-ts/generated/rst/group_usecases-dev_info_persistence.html#doxid-group-usecases-dev-info-persistence
Comment 1 dengkaiwen 2023-11-03 07:54:25 CET
please offer the reproduce steps with standard DPDK API like testpmd, l3fwd and other examples.