[PATCH v7 2/4] ethdev: support mulitiple mbuf pools per Rx queue
Andrew Rybchenko
andrew.rybchenko at oktetlabs.ru
Fri Oct 7 19:30:14 CEST 2022
On 10/7/22 19:08, Thomas Monjalon wrote:
> 07/10/2022 16:37, Andrew Rybchenko:
>> @@ -1067,6 +1067,24 @@ struct rte_eth_rxconf {
>> */
>> union rte_eth_rxseg *rx_seg;
>>
>> + /**
>> + * Array of mempools to allocate Rx buffers from.
>> + *
>> + * This provides support for multiple mbuf pools per Rx queue.
>> + * The capability is reported in device info via positive
>> + * max_rx_mempools.
>> + *
>> + * It could be useful for more efficient usage of memory when an
>> + * application creates different mempools to steer the specific
>> + * size of the packet.
>> + *
>> + * Note that if Rx scatter is enabled, a packet may be delivered using
>> + * a chain of mbufs obtained from single mempool or multiple mempools
>> + * based on the NIC implementation.
>> + */
>> + struct rte_mempool **rx_mempools;
>> + uint16_t rx_nmempool; /** < Number of Rx mempools */
>
> The commit message suggests a configuration per packet size.
> I guess it is not configurable in ethdev API?
> If it is hard-configured in the HW or the driver only,
> it should be specified here.
See v8
>
> [...]
>> + /**
>> + * Maximum number of Rx mempools supported per Rx queue.
>> + *
>> + * Value greater than 0 means that the driver supports Rx queue
>> + * mempools specification via rx_conf->rx_mempools.
>> + */
>> + uint16_t max_rx_mempools;
>
>
>
More information about the dev
mailing list