From: Billy McFall <bmcfall@redhat.com>
To: thomas.monjalon@6wind.com, wenzhuo.lu@intel.com
Cc: dev@dpdk.org, Billy McFall <bmcfall@redhat.com>
Subject: [dpdk-dev] [PATCH v4 0/3] new API to free consumed buffers in Tx ring
Date: Mon, 23 Jan 2017 16:13:37 -0500 [thread overview]
Message-ID: <20170123211340.22570-1-bmcfall@redhat.com> (raw)
In-Reply-To: <20170120160109.1088-1-bmcfall@redhat.com>
See request from 11/21/2016:
http://dpdk.org/ml/archives/dev/2016-November/050585.html
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.
---
v2:
* Removed rte_eth_tx_buffer_flush() call and associated parameters
from new rte_eth_tx_done_cleanup() API.
* Remaining open issue is whether this should be a new API or overload
existing rte_eth_tx_buffer() API with input parameter nb_pkts set to
0. My concern is that overloading existing API will not provided
enough feedback to application. Application needs to know if feature
is supported and driver is attempting to free mbufs or not.
* If new API is supported, second open issue is if parameter free_cnt
should be included. It was in the original feature request.
---
v3:
* Removed extra white space in rte_ethdev.h.
* Removed inline of new API function in rte_ethdev.h.
---
v4:
* Added new API to documentation of per nic supported features.
Billy McFall (3):
ethdev: new API to free consumed buffers in Tx ring
net/e1000: e1000 igb support to free consumed buffers
net/vhost: vHost support to free consumed buffers
doc/guides/nics/features/default.ini | 1 +
doc/guides/nics/features/e1000.ini | 1 +
doc/guides/nics/features/vhost.ini | 1 +
drivers/net/e1000/e1000_ethdev.h | 2 +
drivers/net/e1000/igb_ethdev.c | 1 +
drivers/net/e1000/igb_rxtx.c | 126 +++++++++++++++++++++++++++++++++++
drivers/net/vhost/rte_eth_vhost.c | 11 +++
lib/librte_ether/rte_ethdev.c | 14 ++++
lib/librte_ether/rte_ethdev.h | 31 +++++++++
9 files changed, 188 insertions(+)
--
2.9.3
next prev parent reply other threads:[~2017-01-23 21:13 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-20 16:01 [dpdk-dev] [PATCH v3 " Billy McFall
2017-01-20 16:01 ` [dpdk-dev] [PATCH v3 1/3] ethdev: " Billy McFall
2017-01-20 16:01 ` [dpdk-dev] [PATCH v3 2/3] net/e1000: e1000 igb support to free consumed buffers Billy McFall
2017-01-22 3:47 ` Lu, Wenzhuo
2017-01-23 13:49 ` Billy McFall
2017-01-24 0:42 ` Lu, Wenzhuo
2017-01-20 16:01 ` [dpdk-dev] [PATCH v3 3/3] net/vhost: vHost " Billy McFall
2017-01-23 15:25 ` [dpdk-dev] [PATCH v3 0/3] new API to free consumed buffers in Tx ring Thomas Monjalon
2017-01-23 21:13 ` Billy McFall [this message]
2017-01-23 21:13 ` [dpdk-dev] [PATCH v4 1/3] ethdev: " Billy McFall
2017-01-23 21:13 ` [dpdk-dev] [PATCH v4 2/3] net/e1000: e1000 igb support to free consumed buffers Billy McFall
2017-01-23 21:13 ` [dpdk-dev] [PATCH v4 3/3] net/vhost: vHost " Billy McFall
2017-01-27 18:37 ` [dpdk-dev] [PATCH v5 0/3] new API to free consumed buffers in Tx ring Billy McFall
2017-01-27 18:37 ` [dpdk-dev] [PATCH v5 1/3] ethdev: " Billy McFall
2017-02-27 13:48 ` Thomas Monjalon
2017-03-07 14:29 ` Billy McFall
2017-03-07 16:03 ` Thomas Monjalon
2017-03-09 15:49 ` Billy McFall
2017-03-09 17:11 ` Thomas Monjalon
2017-03-07 16:35 ` Mcnamara, John
2017-03-07 16:42 ` Mcnamara, John
2017-01-27 18:37 ` [dpdk-dev] [PATCH v5 2/3] net/e1000: e1000 igb support to free consumed buffers Billy McFall
2017-02-27 13:49 ` Thomas Monjalon
2017-02-28 1:07 ` Lu, Wenzhuo
2017-01-27 18:38 ` [dpdk-dev] [PATCH v5 3/3] net/vhost: vHost " Billy McFall
2017-02-27 13:50 ` Thomas Monjalon
2017-02-28 6:41 ` Yuanhan Liu
2017-03-01 10:15 ` Maxime Coquelin
2017-03-07 21:59 ` [dpdk-dev] [PATCH v5 0/3] new API to free consumed buffers in Tx ring Thomas Monjalon
2017-03-09 20:51 ` [dpdk-dev] [PATCH v6 " Billy McFall
2017-03-09 20:51 ` [dpdk-dev] [PATCH v6 1/3] ethdev: " Billy McFall
2017-03-15 10:29 ` Olivier Matz
2017-03-15 15:01 ` Billy McFall
2017-03-15 10:30 ` Thomas Monjalon
2017-03-09 20:51 ` [dpdk-dev] [PATCH v6 2/3] net/e1000: e1000 igb support to free consumed buffers Billy McFall
2017-03-13 3:17 ` Lu, Wenzhuo
2017-03-09 20:51 ` [dpdk-dev] [PATCH v6 3/3] net/vhost: vHost " Billy McFall
2017-03-15 10:27 ` Thomas Monjalon
2017-03-15 18:02 ` [dpdk-dev] [PATCH v7 0/3] new API to free consumed buffers in Tx ring Billy McFall
2017-03-15 18:02 ` [dpdk-dev] [PATCH v7 1/3] ethdev: " Billy McFall
2017-03-23 10:37 ` Olivier MATZ
2017-03-23 13:32 ` Billy McFall
2017-03-24 12:46 ` Olivier Matz
2017-03-24 13:18 ` Billy McFall
2017-03-24 13:30 ` Olivier Matz
2017-03-15 18:02 ` [dpdk-dev] [PATCH v7 2/3] net/e1000: e1000 igb support to free consumed buffers Billy McFall
2017-03-15 18:02 ` [dpdk-dev] [PATCH v7 3/3] net/vhost: vHost " Billy McFall
2017-03-15 20:25 ` [dpdk-dev] [PATCH v7 0/3] new API to free consumed buffers in Tx ring Wiles, Keith
2017-03-24 18:55 ` [dpdk-dev] [PATCH v8 " Billy McFall
2017-03-24 18:55 ` [dpdk-dev] [PATCH v8 1/3] ethdev: " Billy McFall
2017-03-24 18:55 ` [dpdk-dev] [PATCH v8 2/3] net/e1000: e1000 igb support to free consumed buffers Billy McFall
2017-03-24 18:55 ` [dpdk-dev] [PATCH v8 3/3] net/vhost: vHost " Billy McFall
2017-03-27 15:20 ` [dpdk-dev] [PATCH v8 0/3] new API to free consumed buffers in Tx ring Thomas Monjalon
2017-04-19 16:25 ` Ferruh Yigit
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170123211340.22570-1-bmcfall@redhat.com \
--to=bmcfall@redhat.com \
--cc=dev@dpdk.org \
--cc=thomas.monjalon@6wind.com \
--cc=wenzhuo.lu@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).