On 1/15/2018 11:02 AM, Shahaf Shuler wrote:
> Monday, January 15, 2018 12:21 PM, Ferruh Yigit:
>>> I think all of the 3 should be in a single patch.
>>> The reason is that the convert patch should maintain the same offloads
>> configuration needed for the application.
>>
>> Perhaps I am missing some details about "mbuf fast free" offload, can you
>> please give more details about it, what does having or not having it mean?
>> Currently no PMD seems implemented it.
> 
> Sure,
> 
> FAST_FREE offload is the logical AND between the old txqflags of:
> ETH_TXQ_FLAGS_NOREFCOUNT
> ETH_TXQ_FLAGS_NOMULTMEM
> 
> The offload is just a performance optimization. As specified in the 
> documentation [1] it enables the PMDs to further optimize the data path given 
> the guarantees from the application. 
> Not having it means possible performance degradation for some PMD which rely 
> on it.
> 
> There is no PMD which implement it yet since not all PMDs moved to the new 
> offloads API. However this flag is tested and translated into txqflags as 
> part of rte_eth_convert_txq_offloads function.
> Relevant PMDs for this offload will be: sfc, thunderx and i40e.

Thank you for clarification, I am OK to have it.

But since currently no PMD provide "DEV_TX_OFFLOAD_MBUF_FAST_FREE" capability,
and default txq_flags is overwritten, some PMDs lost this optimization until
they implement new capability, right?

> 
> 
> [1]
> /**< Device supports optimization for fast release of mbufs.                 
>   *   When set application must guarantee that per-queue all mbufs comes from 
>   *   the same mempool and has refcnt = 1.                                    
>   */                                                                          
>  
> 
>>
>>> Before the convert patch the examples were using the default
>> configuration set by the PMD. In there the txq flags were set to ignore ref
>> count and to declare all mbufs are from the same pool.
>>> The fast free Tx offload was added in order to keep this old offloads
>> configuration.
>>>
>>>>
>>>> Wouldn't be better to enable new offloadings in a separate patch,
>>>> other than convert one? And I don't know if we want to enable that
>>>> specific offload for all samples.
>>>
>>> As you can see, not all the examples has the FAST_FREE offloads, only the
>> entitled ones (i.e. single mempool and no ref count).
>>> For example, ipv4_multicast doesn't set this offload flag.
>>>
> 

Reply via email to