From: Olivier Matz <olivier.matz@6wind.com>
To: dev@dpdk.org, thomas.monjalon@6wind.com,
konstantin.ananyev@intel.com, wenzhuo.lu@intel.com,
helin.zhang@intel.com, jingjing.wu@intel.com,
adrien.mazarguil@6wind.com, nelio.laranjeiro@6wind.com
Cc: ferruh.yigit@intel.com, bruce.richardson@intel.com
Subject: [PATCH 0/6] get status of Rx and Tx descriptors
Date: Wed, 1 Mar 2017 18:19:06 +0100 [thread overview]
Message-ID: <1488388752-1819-1-git-send-email-olivier.matz@6wind.com> (raw)
In-Reply-To: <1479981261-19512-1-git-send-email-olivier.matz@6wind.com>
This patchset introduces a new ethdev API:
- rte_eth_rx_descriptor_status()
- rte_eth_tx_descriptor_status()
The Rx API is aims to replace rte_eth_rx_descriptor_done() which
does almost the same, but does not differentiate the case of a
descriptor used by the driver (not returned to the hw).
The usage of these functions can be:
- on Rx, anticipate that the cpu is not fast enough to process
all incoming packets, and take dispositions to solve the
problem (add more cpus, drop specific packets, ...)
- on Tx, detect that the link is overloaded, and take dispositions
to solve the problem (notify flow control, drop specific
packets)
The patchset updates ixgbe, i40e, e1000, mlx5.
The other drivers that implement the descriptor_done() API are
fm10k, sfc, virtio. They are not updated.
If the new API is accepted, the descriptor_done() can be deprecated,
and examples/l3fwd-power will be updated to.
RFC->v1:
- instead of optimizing an API that returns the number of used
descriptors like rx_queue_count(), use a more simple API that
returns the status of a descriptor, like rx_descriptor_done().
- remove ethdev api rework (first 2 patches), they have been
sent separately
Olivier Matz (6):
ethdev: add descriptor status API
net/ixgbe: implement descriptor status API
net/e1000: implement descriptor status API (igb)
net/e1000: implement descriptor status API (em)
net/mlx5: implement descriptor status API
net/i40e: implement descriptor status API
drivers/net/e1000/e1000_ethdev.h | 10 +++++
drivers/net/e1000/em_ethdev.c | 2 +
drivers/net/e1000/em_rxtx.c | 49 ++++++++++++++++++++++
drivers/net/e1000/igb_ethdev.c | 2 +
drivers/net/e1000/igb_rxtx.c | 46 +++++++++++++++++++++
drivers/net/i40e/i40e_ethdev.c | 2 +
drivers/net/i40e/i40e_ethdev_vf.c | 2 +
drivers/net/i40e/i40e_rxtx.c | 56 +++++++++++++++++++++++++
drivers/net/i40e/i40e_rxtx.h | 4 ++
drivers/net/ixgbe/ixgbe_ethdev.c | 4 ++
drivers/net/ixgbe/ixgbe_ethdev.h | 5 +++
drivers/net/ixgbe/ixgbe_rxtx.c | 55 +++++++++++++++++++++++++
drivers/net/mlx5/mlx5.c | 2 +
drivers/net/mlx5/mlx5_rxtx.c | 83 +++++++++++++++++++++++++++++++++++++
drivers/net/mlx5/mlx5_rxtx.h | 2 +
lib/librte_ether/rte_ethdev.h | 86 +++++++++++++++++++++++++++++++++++++++
16 files changed, 410 insertions(+)
--
2.8.1
next prev parent reply other threads:[~2017-03-01 17:20 UTC|newest]
Thread overview: 72+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-24 9:54 [RFC 0/9] get Rx and Tx used descriptors Olivier Matz
2016-11-24 9:54 ` [RFC 1/9] ethdev: clarify api comments of rx queue count Olivier Matz
2016-11-24 10:52 ` Ferruh Yigit
2016-11-24 11:13 ` Olivier Matz
2016-11-24 9:54 ` [RFC 2/9] ethdev: move queue id check in generic layer Olivier Matz
2016-11-24 10:59 ` Ferruh Yigit
2016-11-24 13:05 ` Olivier Matz
2016-11-24 9:54 ` [RFC 3/9] ethdev: add handler for Tx queue descriptor count Olivier Matz
2016-11-24 9:54 ` [RFC 4/9] net/ixgbe: optimize Rx " Olivier Matz
2016-11-24 9:54 ` [RFC 5/9] net/ixgbe: add handler for Tx " Olivier Matz
2016-11-24 9:54 ` [RFC 6/9] net/igb: optimize rx " Olivier Matz
2016-11-24 9:54 ` [RFC 7/9] net/igb: add handler for tx " Olivier Matz
2016-11-24 9:54 ` [RFC 8/9] net/e1000: optimize rx " Olivier Matz
2016-11-24 9:54 ` [RFC 9/9] net/e1000: add handler for tx " Olivier Matz
2017-01-13 16:44 ` [RFC 0/9] get Rx and Tx used descriptors Olivier Matz
2017-01-13 17:32 ` Richardson, Bruce
2017-01-17 8:24 ` Olivier Matz
2017-01-17 13:56 ` Bruce Richardson
2017-03-01 17:19 ` Olivier Matz [this message]
2017-03-01 17:19 ` [PATCH 1/6] ethdev: add descriptor status API Olivier Matz
2017-03-01 18:22 ` Andrew Rybchenko
2017-03-02 13:57 ` Olivier Matz
2017-03-02 14:19 ` Andrew Rybchenko
2017-03-02 14:54 ` Olivier Matz
2017-03-02 15:05 ` Andrew Rybchenko
2017-03-02 15:14 ` Olivier Matz
2017-03-01 17:19 ` [PATCH 2/6] net/ixgbe: implement " Olivier Matz
2017-03-01 17:19 ` [PATCH 3/6] net/e1000: implement descriptor status API (igb) Olivier Matz
2017-03-02 1:28 ` Lu, Wenzhuo
2017-03-02 13:58 ` Olivier Matz
2017-03-01 17:19 ` [PATCH 4/6] net/e1000: implement descriptor status API (em) Olivier Matz
2017-03-02 1:22 ` Lu, Wenzhuo
2017-03-02 14:46 ` Olivier Matz
2017-03-03 1:15 ` Lu, Wenzhuo
2017-03-01 17:19 ` [PATCH 5/6] net/mlx5: implement descriptor status API Olivier Matz
2017-03-02 7:56 ` Nélio Laranjeiro
2017-03-01 17:19 ` [PATCH 6/6] net/i40e: " Olivier Matz
2017-03-01 18:02 ` [PATCH 0/6] get status of Rx and Tx descriptors Andrew Rybchenko
2017-03-02 13:40 ` Olivier Matz
2017-03-06 10:41 ` Thomas Monjalon
2017-03-01 18:07 ` Stephen Hemminger
2017-03-02 13:43 ` Olivier Matz
2017-03-06 10:41 ` Thomas Monjalon
2017-03-02 15:32 ` Bruce Richardson
2017-03-02 16:14 ` Olivier Matz
2017-03-03 16:18 ` Venkatesan, Venky
2017-03-03 16:45 ` Olivier Matz
2017-03-03 18:46 ` Venkatesan, Venky
2017-03-04 20:45 ` Olivier Matz
2017-03-06 11:02 ` Thomas Monjalon
2017-03-07 15:59 ` [PATCH v2 " Olivier Matz
2017-03-07 15:59 ` [PATCH v2 1/6] ethdev: add descriptor status API Olivier Matz
2017-03-09 11:49 ` Andrew Rybchenko
2017-03-21 8:32 ` Yang, Qiming
2017-03-24 12:49 ` Olivier Matz
2017-03-27 1:28 ` Yang, Qiming
2017-03-07 15:59 ` [PATCH v2 2/6] net/ixgbe: implement " Olivier Matz
2017-03-07 15:59 ` [PATCH v2 3/6] net/e1000: implement descriptor status API (igb) Olivier Matz
2017-03-08 1:17 ` Lu, Wenzhuo
2017-03-07 15:59 ` [PATCH v2 4/6] net/e1000: implement descriptor status API (em) Olivier Matz
2017-03-07 15:59 ` [PATCH v2 5/6] net/mlx5: implement descriptor status API Olivier Matz
2017-03-07 15:59 ` [PATCH v2 6/6] net/i40e: " Olivier Matz
2017-03-08 1:17 ` Lu, Wenzhuo
2017-03-29 8:36 ` [PATCH v3 0/6] get status of Rx and Tx descriptors Olivier Matz
2017-03-29 8:36 ` [PATCH v3 1/6] ethdev: add descriptor status API Olivier Matz
2017-03-29 8:36 ` [PATCH v3 2/6] net/ixgbe: implement " Olivier Matz
2017-03-29 8:36 ` [PATCH v3 3/6] net/e1000: implement descriptor status API (igb) Olivier Matz
2017-03-29 8:36 ` [PATCH v3 4/6] net/e1000: implement descriptor status API (em) Olivier Matz
2017-03-29 8:36 ` [PATCH v3 5/6] net/mlx5: implement descriptor status API Olivier Matz
2017-03-29 8:36 ` [PATCH v3 6/6] net/i40e: " Olivier Matz
2017-03-30 13:30 ` [PATCH v3 0/6] get status of Rx and Tx descriptors Thomas Monjalon
2017-04-19 15:50 ` 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=1488388752-1819-1-git-send-email-olivier.matz@6wind.com \
--to=olivier.matz@6wind.com \
--cc=adrien.mazarguil@6wind.com \
--cc=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
--cc=ferruh.yigit@intel.com \
--cc=helin.zhang@intel.com \
--cc=jingjing.wu@intel.com \
--cc=konstantin.ananyev@intel.com \
--cc=nelio.laranjeiro@6wind.com \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.