Tuesday, September 12, 2017 10:18 AM, Jerin Jacob: > > Tuesday, September 12, 2017 8:52 AM, Jerin Jacob: > > > > I understand the use case, and the fact those flags improve the > > > performance on low-end ARM CPUs. > > > > IMO those flags cannot be on queue/port level. They must be global. > > > > > > Where should we have it as global(in terms of API)? > > > And why it can not be at port level? > > > > Because I don't think there is a use-case that application would want to > have recounting on one port and not on the other. It is either application > clone/not clone mbufs. > > Same about the multi mempool. It is either application have it or not. > > Why not? If a port is given to data plane and another port to control plane. > It > can have different characteristics. > > Making it port level, we can achieve the global use case as well. but not > another way around. > > MULTISEG flag also has the same attribute. But some reason you are OK to > include that in flags. > > > > > If there is a strong use-case for application to say on port X it clones > > mbufs > and and port Y it don't then maybe this is enough to have it per-port. > > We can go even further - why not to have guarantee per queue? it is > possible if application is willing to manage. > > > > Again those are not offloads, therefore if we expose those this should on > different location the offloads field on eth conf. > > What is the definition of offload? It is something we can offload to HW. > If so, then, reference count we can offload to HW with external HW pool > manager which DPDK has support now.
OK, well understood the requirement for such flags. Thanks for your replies. I think that for simplicity I will add two more flags on the Tx offloads capabilities: DEV_TX_OFFLOADS _MULTI_MEMPOOL <** Device supports transmission of mbufs from multiple mempools. */ DEV_TX_OFFLOADS_INDIRECT_MBUFS <** Device support transmission of indirect mbufs. */ Those caps can be reported by the PMD as per-port/per-queue offloads. Application will choose how to set those. When not set - PMD can assume all mbufs has ref_cnt = 1 and the same mempool. Any objection?