Re: [PATCH v3 0/3] new API to free consumed buffers in Tx ring
From: Thomas Monjalon <hidden>
Date: 2017-01-23 15:25:30
Hi, Thanks for bringing a new convenient API. 2017-01-20 11:01, Billy McFall:
Based on a request from Damjan Marion and seconded by Keith Wiles, see dpdk-dev mailing list from 11/21/2016,
Generally we use links to ML archives to show prior discussions.
add a new API to free consumed buffers on TX ring. This addresses two scenarios: 1) Flooding a packet and want to reuse existing mbuf to avoid a packet copy. Increment the reference count of the packet and poll new API until reference count is decremented. 2) Application runs out of mbufs, or resets and is preparing for additional run, call API to free consumed packets so processing can continue. API will return the number of packets freed (0-n) or error code if feature not supported (-ENOTSUP) or input invalid (-ENODEV). API for e1000 igb driver and vHost driver have been implemented. Other drivers can be implemented over time. Some drivers implement a Tx done flush routine that should be reused where possible. e1000 igb driver and vHost driver do not have such functions.
Before considering to use such API, user apps may check how well it is supported by drivers in this table: http://dpdk.org/doc/guides/nics/overview.html Please add this feature in the appropriate files: doc/guides/nics/features/default.ini in patch 1 doc/guides/nics/features/e1000.ini in patch 2 doc/guides/nics/features/vhost.ini in patch 3 Then it will be introduced in the beginning of the 17.05 cycle. So more drivers could be implemented before the 17.05 release. Does it sound good? PS: please use --in-reply-to when sending new versions to keep track of versions changes and discussions.