[dpdk-dev] Survey for final decision about per-port offload API

Shahaf Shuler shahafs at mellanox.com
Sun Apr 1 06:44:20 CEST 2018


Friday, March 30, 2018 4:48 PM, Thomas Monjalon:
> Subject: Survey for final decision about per-port offload API
> 
> There are some discussions about a specific part of the offload API:
> 	"To enable per-port offload, the offload should be set on both
> 	device configuration and queue setup."
> 
> It means the application must repeat the port offload flags in
> rte_eth_conf.[rt]xmode.offloads and rte_eth_[rt]xconf.offloads, when
> calling respectively rte_eth_dev_configure() and
> rte_eth_[rt]x_queue_setup for each queue.
> 
> The PMD must check if there is mismatch, i.e. a port offload not repeated in
> queue setup.
> There is a proposal to do this check at ethdev level:
> 	https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F
> %2Fdpdk.org%2Fml%2Farchives%2Fdev%2F2018-
> March%2F094023.html&data=02%7C01%7Cshahafs%40mellanox.com%7Cb2a
> e36d768424c9e616308d59644e2a7%7Ca652971c7d2e4d9ba6a4d149256f461b
> %7C0%7C0%7C636580144980414466&sdata=Re2xM9u5jJr4M1PDTn5gE9mp22
> NmBI%2Bwa2GFPmUzq38%3D&reserved=0
> 
> It was also proposed to relax the API and allow "forgetting" port offloads in
> queue offloads:
> 	https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F
> %2Fdpdk.org%2Fml%2Farchives%2Fdev%2F2018-
> March%2F092978.html&data=02%7C01%7Cshahafs%40mellanox.com%7Cb2a
> e36d768424c9e616308d59644e2a7%7Ca652971c7d2e4d9ba6a4d149256f461b
> %7C0%7C0%7C636580144980414466&sdata=xaUM8jcVl9gf3e%2By9geZDPpO
> 1RJ5%2FXWJwA%2BpGp54pNs%3D&reserved=0
> 
> It would mean the offloads applied to a queue result of OR operation:
> 	rte_eth_conf.[rt]xmode.offloads | rte_eth_[rt]xconf.offloads
> 
> 1/ Do you agree with above API change?

Yes.

> 
> 
> If we agree with this change, we need to update the documentation and
> remove the checks in PMDs.

And to update applications and examples in the tree to set the offloads according to above change. 

> Note: no matter what is decided here, 18.05-rc1 should have all PMDs
> switched to the API which was defined in 17.11.
> Given that API is new and not yet adopted by the applications, the sonner it
> is fixed, the better.
> 
> 2/ Should we do this change in 18.05-rc2?
> 
> 
> At the same time, we want to make clear that an offload enabled at port
> level, cannot be disabled at queue level.
> 
> 3/ Do you agree with above statement (to be added in the doc)?

Yes 

> 
> 
> There is the same kind of confusion in the offload capabilities:
> 	rte_eth_dev_info.[rt]x_offload_capa
> 	rte_eth_dev_info.[rt]x_queue_offload_capa
> The queue capabilities must be a subset of port capabilities, i.e. every queue
> capabilities must be reported as port capabilities.
> But the port capabilities should be reported at queue level only if it can be
> applied to a specific queue.
> 
> 4/ Do you agree with above statement (to be added in the doc)?

No. 

The documentation should describe the API from the application side, and not provide guidelines for the PMDs implementation. 
If missing, we should clarify more about what queue and port offload means. Something like:
"When port offload is enabled, the offload applies on the port along with all of its associated queues"  and
"When queue offload is enabled the offload, the offload applies only on the specific queue."

The PMDs then will decide how they report the different offloads they offer. 

> 
> 
> Please give your opinion on questions 1, 2, 3 and 4.
> Answering by yes/no may be sufficient in most cases :) Thank you
> 



More information about the dev mailing list