From: Thomas Monjalon <thomas@monjalon.net>
To: dev@dpdk.org
Cc: ferruh.yigit@intel.com, david.marchand@redhat.com,
bruce.richardson@intel.com, olivier.matz@6wind.com,
andrew.rybchenko@oktetlabs.ru, akhil.goyal@nxp.com,
jerinj@marvell.com, Ray Kinsella <mdr@ashroe.eu>,
Neil Horman <nhorman@tuxdriver.com>
Subject: [dpdk-dev] [PATCH v6 15/15] mbuf: remove userdata field
Date: Fri, 30 Oct 2020 18:44:41 +0100 [thread overview]
Message-ID: <20201030174441.1076264-16-thomas@monjalon.net> (raw)
In-Reply-To: <20201030174441.1076264-1-thomas@monjalon.net>
As announced in the deprecation note, the field userdata / udata64
is removed to give more space to the dynamic fields.
This is how the mbuf layout looks like (pahole-style):
word type name byte size
0 void * buf_addr; /* 0 + 8 */
1 rte_iova_t buf_iova /* 8 + 8 */
/* --- RTE_MARKER64 rearm_data; */
2 uint16_t data_off; /* 16 + 2 */
uint16_t refcnt; /* 18 + 2 */
uint16_t nb_segs; /* 20 + 2 */
uint16_t port; /* 22 + 2 */
3 uint64_t ol_flags; /* 24 + 8 */
/* --- RTE_MARKER rx_descriptor_fields1; */
4 uint32_t union packet_type; /* 32 + 4 */
uint32_t pkt_len; /* 36 + 4 */
5 uint16_t data_len; /* 40 + 2 */
uint16_t vlan_tci; /* 42 + 2 */
5.5 uint64_t union hash; /* 44 + 8 */
6.5 uint16_t vlan_tci_outer; /* 52 + 2 */
uint16_t buf_len; /* 54 + 2 */
7 uint64_t timestamp; /* 56 + 8 */
/* --- RTE_MARKER cacheline1; */
8 struct rte_mempool * pool; /* 64 + 8 */
9 struct rte_mbuf * next; /* 72 + 8 */
10 uint64_t union tx_offload; /* 80 + 8 */
11 uint16_t priv_size; /* 88 + 2 */
uint16_t timesync; /* 90 + 2 */
uint32_t seqn; /* 92 + 4 */
12 struct rte_mbuf_ext_shared_info * shinfo; /* 96 + 8 */
13 uint64_t dynfield1[3]; /* 104 + 24 */
16 /* --- END 128 */
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
---
doc/guides/rel_notes/deprecation.rst | 1 -
doc/guides/rel_notes/release_20_11.rst | 3 +++
lib/librte_kni/rte_kni_common.h | 2 +-
lib/librte_mbuf/rte_mbuf_core.h | 8 +-------
4 files changed, 5 insertions(+), 9 deletions(-)
diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 2e082499b8..0f6f1df12a 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -87,7 +87,6 @@ Deprecation Notices
The following static fields will be moved as dynamic:
- ``timestamp``
- - ``userdata`` / ``udata64``
- ``seqn``
As a consequence, the layout of the ``struct rte_mbuf`` will be re-arranged,
diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index bae39b2dd0..70cefb6d07 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -442,6 +442,9 @@ API Changes
the structures ``rte_mbuf`` and ``rte_mbuf_ext_shared_info``.
The field ``refcnt`` is remaining from the old unions.
+* mbuf: Removed the unioned fields ``userdata`` and ``udata64``
+ from the structure ``rte_mbuf``. It is replaced with dynamic fields.
+
* pci: Removed the ``rte_kernel_driver`` enum defined in rte_dev.h and
replaced with a private enum in the PCI subsystem.
diff --git a/lib/librte_kni/rte_kni_common.h b/lib/librte_kni/rte_kni_common.h
index 21b477f0aa..36d66e2ffa 100644
--- a/lib/librte_kni/rte_kni_common.h
+++ b/lib/librte_kni/rte_kni_common.h
@@ -86,7 +86,7 @@ struct rte_kni_mbuf {
uint16_t data_len; /**< Amount of data in segment buffer. */
/* fields on second cache line */
- char pad3[8] __attribute__((__aligned__(RTE_CACHE_LINE_MIN_SIZE)));
+ __attribute__((__aligned__(RTE_CACHE_LINE_MIN_SIZE)))
void *pool;
void *next; /**< Physical address of next mbuf in kernel. */
};
diff --git a/lib/librte_mbuf/rte_mbuf_core.h b/lib/librte_mbuf/rte_mbuf_core.h
index 065d87d28a..a65eaaf692 100644
--- a/lib/librte_mbuf/rte_mbuf_core.h
+++ b/lib/librte_mbuf/rte_mbuf_core.h
@@ -599,12 +599,6 @@ struct rte_mbuf {
/* second cache line - fields only used in slow path or on TX */
RTE_MARKER cacheline1 __rte_cache_min_aligned;
- RTE_STD_C11
- union {
- void *userdata; /**< Can be used for external metadata */
- uint64_t udata64; /**< Allow 8-byte userdata on 32-bit */
- };
-
struct rte_mempool *pool; /**< Pool from which mbuf was allocated. */
struct rte_mbuf *next; /**< Next segment of scattered packet. */
@@ -662,7 +656,7 @@ struct rte_mbuf {
*/
struct rte_mbuf_ext_shared_info *shinfo;
- uint64_t dynfield1[2]; /**< Reserved for dynamic fields. */
+ uint64_t dynfield1[3]; /**< Reserved for dynamic fields. */
} __rte_cache_aligned;
/**
--
2.28.0
next prev parent reply other threads:[~2020-10-30 17:49 UTC|newest]
Thread overview: 178+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-26 5:20 [dpdk-dev] [PATCH 00/15] remove mbuf userdata Thomas Monjalon
2020-10-26 5:20 ` [dpdk-dev] [PATCH 01/15] examples: enclose DPDK includes with angle brackets Thomas Monjalon
2020-10-26 14:23 ` Andrew Rybchenko
2020-10-27 11:32 ` Bruce Richardson
2020-10-26 5:20 ` [dpdk-dev] [PATCH 02/15] kni: move header file from EAL Thomas Monjalon
2020-10-26 14:25 ` Andrew Rybchenko
2020-10-27 11:33 ` Bruce Richardson
2020-10-26 5:20 ` [dpdk-dev] [PATCH 03/15] mbuf: fix typo in dynamic field convention note Thomas Monjalon
2020-10-26 14:26 ` Andrew Rybchenko
2020-10-26 5:20 ` [dpdk-dev] [PATCH 04/15] node: switch IPv4 metadata to dynamic mbuf field Thomas Monjalon
2020-10-26 10:40 ` David Marchand
2020-10-26 14:29 ` Thomas Monjalon
2020-10-26 14:34 ` Andrew Rybchenko
2020-10-26 14:39 ` Thomas Monjalon
2020-10-26 5:20 ` [dpdk-dev] [PATCH 05/15] security: switch " Thomas Monjalon
2020-10-26 10:41 ` David Marchand
2020-10-26 14:30 ` Thomas Monjalon
2020-10-26 17:58 ` Akhil Goyal
2020-10-26 15:06 ` Andrew Rybchenko
2020-10-26 16:49 ` Thomas Monjalon
2020-10-26 19:03 ` Thomas Monjalon
2020-10-26 5:20 ` [dpdk-dev] [PATCH 06/15] event/sw: switch test counter " Thomas Monjalon
2020-10-26 15:09 ` Andrew Rybchenko
2020-10-26 5:20 ` [dpdk-dev] [PATCH 07/15] net/ark: ignore user data Thomas Monjalon
2020-10-26 5:20 ` [dpdk-dev] [PATCH 08/15] net/bnxt: switch CFA code to dynamic mbuf field Thomas Monjalon
2020-10-26 10:42 ` David Marchand
2020-10-26 14:32 ` Thomas Monjalon
2020-10-26 5:20 ` [dpdk-dev] [PATCH 09/15] net/vmxnet3: switch MSS hint " Thomas Monjalon
2020-10-26 15:14 ` Andrew Rybchenko
2020-10-26 15:21 ` Andrew Rybchenko
2020-10-26 16:50 ` Thomas Monjalon
2020-10-26 18:13 ` Thomas Monjalon
2020-10-26 5:21 ` [dpdk-dev] [PATCH 10/15] test/distributor: switch sequence " Thomas Monjalon
2020-10-26 9:39 ` Lukasz Wojciechowski
2020-10-26 5:21 ` [dpdk-dev] [PATCH 11/15] test/graph: switch user data " Thomas Monjalon
2020-10-26 5:21 ` [dpdk-dev] [PATCH 12/15] app/eventdev: switch flow ID " Thomas Monjalon
2020-10-26 5:21 ` [dpdk-dev] [PATCH 13/15] examples/bbdev: switch " Thomas Monjalon
2020-10-26 5:21 ` [dpdk-dev] [PATCH 14/15] examples/rxtx_callbacks: " Thomas Monjalon
2020-10-26 10:43 ` David Marchand
2020-10-26 14:33 ` Thomas Monjalon
2020-10-26 14:53 ` Stephen Hemminger
2020-10-26 16:32 ` Thomas Monjalon
2020-10-26 5:21 ` [dpdk-dev] [PATCH 15/15] mbuf: remove userdata field Thomas Monjalon
2020-10-26 22:19 ` [dpdk-dev] [PATCH v2 00/15] remove mbuf userdata Thomas Monjalon
2020-10-26 22:19 ` [dpdk-dev] [PATCH v2 01/15] examples: enclose DPDK includes with angle brackets Thomas Monjalon
2020-10-26 22:20 ` [dpdk-dev] [PATCH v2 02/15] kni: move header file from EAL Thomas Monjalon
2020-10-26 22:20 ` [dpdk-dev] [PATCH v2 03/15] mbuf: fix typo in dynamic field convention note Thomas Monjalon
2020-10-26 22:20 ` [dpdk-dev] [PATCH v2 04/15] node: switch IPv4 metadata to dynamic mbuf field Thomas Monjalon
2020-10-27 9:32 ` Olivier Matz
2020-10-27 9:34 ` Thomas Monjalon
2020-10-27 14:23 ` Nithin Dabilpuram
2020-10-27 14:33 ` Thomas Monjalon
2020-10-27 15:33 ` Nithin Dabilpuram
2020-10-27 15:57 ` Thomas Monjalon
2020-10-27 16:16 ` Nithin Dabilpuram
2020-10-27 16:26 ` Thomas Monjalon
2020-10-28 9:30 ` [dpdk-dev] [PATCH v4] " Nithin Dabilpuram
2020-10-28 10:08 ` Thomas Monjalon
2020-10-28 10:24 ` Van Haaren, Harry
2020-10-28 10:42 ` Nithin Dabilpuram
2020-10-28 10:43 ` Thomas Monjalon
2020-10-28 18:07 ` Thomas Monjalon
2020-10-29 10:17 ` Van Haaren, Harry
2020-10-28 10:33 ` Nithin Dabilpuram
2020-10-26 22:20 ` [dpdk-dev] [PATCH v2 05/15] security: switch " Thomas Monjalon
2020-10-27 2:01 ` Wang, Haiyue
2020-10-27 8:52 ` Thomas Monjalon
2020-10-27 13:12 ` Wang, Haiyue
2020-10-27 10:05 ` Olivier Matz
2020-10-27 16:10 ` Thomas Monjalon
2020-10-26 22:20 ` [dpdk-dev] [PATCH v2 06/15] event/sw: switch test counter " Thomas Monjalon
2020-10-27 10:15 ` Olivier Matz
2020-10-27 16:14 ` Thomas Monjalon
2020-10-26 22:20 ` [dpdk-dev] [PATCH v2 07/15] net/ark: ignore user data Thomas Monjalon
2020-10-27 15:32 ` Ed Czeck
2020-10-27 15:55 ` Thomas Monjalon
2020-10-27 16:05 ` Thomas Monjalon
2020-10-26 22:20 ` [dpdk-dev] [PATCH v2 08/15] net/bnxt: switch CFA code to dynamic mbuf field Thomas Monjalon
2020-10-27 4:44 ` Ajit Khaparde
2020-10-27 10:31 ` Olivier Matz
2020-10-27 16:22 ` Thomas Monjalon
2020-10-26 22:20 ` [dpdk-dev] [PATCH v2 09/15] net/vmxnet3: switch MSS hint " Thomas Monjalon
2020-10-27 10:45 ` Olivier Matz
2020-10-27 16:25 ` Thomas Monjalon
2020-10-26 22:20 ` [dpdk-dev] [PATCH v2 10/15] test/distributor: switch sequence " Thomas Monjalon
2020-10-26 22:20 ` [dpdk-dev] [PATCH v2 11/15] test/graph: switch user data " Thomas Monjalon
2020-10-26 22:20 ` [dpdk-dev] [PATCH v2 12/15] app/eventdev: switch flow ID " Thomas Monjalon
2020-10-26 22:20 ` [dpdk-dev] [PATCH v2 13/15] examples/bbdev: switch " Thomas Monjalon
2020-10-26 22:20 ` [dpdk-dev] [PATCH v2 14/15] examples/rxtx_callbacks: " Thomas Monjalon
2020-10-26 22:20 ` [dpdk-dev] [PATCH v2 15/15] mbuf: remove userdata field Thomas Monjalon
2020-10-27 10:53 ` Olivier Matz
2020-10-27 21:01 ` [dpdk-dev] [PATCH v3 00/15] remove mbuf userdata Thomas Monjalon
2020-10-27 21:01 ` [dpdk-dev] [PATCH v3 01/15] examples: enclose DPDK includes with angle brackets Thomas Monjalon
2020-10-27 21:01 ` [dpdk-dev] [PATCH v3 02/15] kni: move header file from EAL Thomas Monjalon
2020-10-27 21:01 ` [dpdk-dev] [PATCH v3 03/15] mbuf: fix typo in dynamic field convention note Thomas Monjalon
2020-10-27 21:01 ` [dpdk-dev] [PATCH v3 04/15] node: switch IPv4 metadata to dynamic mbuf field Thomas Monjalon
2020-10-27 21:01 ` [dpdk-dev] [PATCH v3 05/15] security: switch " Thomas Monjalon
2020-10-27 21:01 ` [dpdk-dev] [PATCH v3 06/15] event/sw: switch test counter " Thomas Monjalon
2020-10-27 21:01 ` [dpdk-dev] [PATCH v3 07/15] net/ark: switch user data " Thomas Monjalon
2020-10-27 22:30 ` Thomas Monjalon
2020-10-27 21:01 ` [dpdk-dev] [PATCH v3 08/15] net/bnxt: switch CFA code " Thomas Monjalon
2020-10-27 21:01 ` [dpdk-dev] [PATCH v3 09/15] net/vmxnet3: switch MSS hint " Thomas Monjalon
2020-10-27 21:01 ` [dpdk-dev] [PATCH v3 10/15] test/distributor: switch sequence " Thomas Monjalon
2020-10-27 21:01 ` [dpdk-dev] [PATCH v3 11/15] test/graph: switch user data " Thomas Monjalon
2020-10-27 21:01 ` [dpdk-dev] [PATCH v3 12/15] app/eventdev: switch flow ID " Thomas Monjalon
2020-10-28 4:54 ` Jerin Jacob
2020-10-28 7:43 ` Thomas Monjalon
2020-10-28 8:06 ` Jerin Jacob
2020-10-27 21:01 ` [dpdk-dev] [PATCH v3 13/15] examples/bbdev: switch " Thomas Monjalon
2020-10-27 21:01 ` [dpdk-dev] [PATCH v3 14/15] examples/rxtx_callbacks: " Thomas Monjalon
2020-10-27 21:01 ` [dpdk-dev] [PATCH v3 15/15] mbuf: remove userdata field Thomas Monjalon
2020-10-28 10:26 ` [dpdk-dev] [PATCH v4 00/15] remove mbuf userdata Thomas Monjalon
2020-10-28 10:26 ` [dpdk-dev] [PATCH v4 01/15] examples: enclose DPDK includes with angle brackets Thomas Monjalon
2020-10-28 10:26 ` [dpdk-dev] [PATCH v4 02/15] kni: move header file from EAL Thomas Monjalon
2020-10-28 10:26 ` [dpdk-dev] [PATCH v4 03/15] mbuf: fix typo in dynamic field convention note Thomas Monjalon
2020-10-28 10:26 ` [dpdk-dev] [PATCH v4 04/15] node: switch IPv4 metadata to dynamic mbuf field Thomas Monjalon
2020-10-28 10:26 ` [dpdk-dev] [PATCH v4 05/15] security: switch " Thomas Monjalon
2020-10-28 10:26 ` [dpdk-dev] [PATCH v4 06/15] event/sw: switch test counter " Thomas Monjalon
2020-10-28 10:26 ` [dpdk-dev] [PATCH v4 07/15] net/ark: switch user data to dynamic mbuf fields Thomas Monjalon
2020-10-28 10:26 ` [dpdk-dev] [PATCH v4 08/15] net/bnxt: switch CFA code to dynamic mbuf field Thomas Monjalon
2020-10-28 10:26 ` [dpdk-dev] [PATCH v4 09/15] net/vmxnet3: switch MSS hint " Thomas Monjalon
2020-10-28 10:26 ` [dpdk-dev] [PATCH v4 10/15] test/distributor: switch sequence " Thomas Monjalon
2020-10-28 10:26 ` [dpdk-dev] [PATCH v4 11/15] test/graph: switch user data " Thomas Monjalon
2020-10-28 10:26 ` [dpdk-dev] [PATCH v4 12/15] app/eventdev: switch flow ID " Thomas Monjalon
2020-10-28 10:26 ` [dpdk-dev] [PATCH v4 13/15] examples/bbdev: switch " Thomas Monjalon
2020-10-28 11:51 ` Andrew Rybchenko
2020-10-28 12:21 ` Thomas Monjalon
2020-10-28 12:55 ` Andrew Rybchenko
2020-10-28 10:26 ` [dpdk-dev] [PATCH v4 14/15] examples/rxtx_callbacks: " Thomas Monjalon
2020-10-28 10:26 ` [dpdk-dev] [PATCH v4 15/15] mbuf: remove userdata field Thomas Monjalon
2020-10-30 17:29 ` [dpdk-dev] [PATCH v5 00/15] remove mbuf userdata Thomas Monjalon
2020-10-30 17:29 ` [dpdk-dev] [PATCH v5 01/15] eventdev: remove software Rx timestamp Thomas Monjalon
2020-10-30 17:29 ` [dpdk-dev] [PATCH v5 02/15] mbuf: add Rx timestamp dynamic flag Thomas Monjalon
2020-11-01 20:03 ` Andrew Rybchenko
2020-10-30 17:29 ` [dpdk-dev] [PATCH v5 03/15] ethdev: register mbuf field and flags for timestamp Thomas Monjalon
2020-11-01 20:10 ` Andrew Rybchenko
2020-11-01 22:54 ` Thomas Monjalon
2020-10-30 17:29 ` [dpdk-dev] [PATCH v5 04/15] latency: switch timestamp to dynamic mbuf field Thomas Monjalon
2020-10-30 17:29 ` [dpdk-dev] [PATCH v5 05/15] net/ark: " Thomas Monjalon
2020-10-30 17:29 ` [dpdk-dev] [PATCH v5 06/15] net/dpaa2: " Thomas Monjalon
2020-10-30 17:29 ` [dpdk-dev] [PATCH v5 07/15] net/mlx5: fix dynamic mbuf offset lookup check Thomas Monjalon
2020-10-30 17:29 ` [dpdk-dev] [PATCH v5 08/15] net/mlx5: switch timestamp to dynamic mbuf field Thomas Monjalon
2020-10-30 17:29 ` [dpdk-dev] [PATCH v5 09/15] net/nfb: " Thomas Monjalon
2020-10-30 17:29 ` [dpdk-dev] [PATCH v5 10/15] net/octeontx2: " Thomas Monjalon
2020-10-30 17:29 ` [dpdk-dev] [PATCH v5 11/15] net/pcap: " Thomas Monjalon
2020-10-30 17:29 ` [dpdk-dev] [PATCH v5 12/15] app/testpmd: " Thomas Monjalon
2020-10-30 17:29 ` [dpdk-dev] [PATCH v5 13/15] examples/rxtx_callbacks: switch timestamp to dynamic field Thomas Monjalon
2020-10-30 17:29 ` [dpdk-dev] [PATCH v5 14/15] mbuf: remove deprecated timestamp field Thomas Monjalon
2020-11-01 20:13 ` Andrew Rybchenko
2020-10-30 17:29 ` [dpdk-dev] [PATCH v5 15/15] mbuf: move pool pointer in hotter first half Thomas Monjalon
2020-11-01 20:23 ` Andrew Rybchenko
2020-10-30 17:44 ` [dpdk-dev] [PATCH v6 00/15] remove mbuf userdata Thomas Monjalon
2020-10-30 17:44 ` [dpdk-dev] [PATCH v6 01/15] examples: enclose DPDK includes with angle brackets Thomas Monjalon
2020-10-30 17:44 ` [dpdk-dev] [PATCH v6 02/15] kni: move header file from EAL Thomas Monjalon
2020-10-30 17:44 ` [dpdk-dev] [PATCH v6 03/15] mbuf: fix typo in dynamic field convention note Thomas Monjalon
2020-10-30 17:44 ` [dpdk-dev] [PATCH v6 04/15] node: switch IPv4 metadata to dynamic mbuf field Thomas Monjalon
2020-10-30 17:44 ` [dpdk-dev] [PATCH v6 05/15] security: switch " Thomas Monjalon
2020-10-31 8:56 ` David Marchand
2020-10-31 9:26 ` David Marchand
2020-10-31 14:38 ` Thomas Monjalon
2020-10-30 17:44 ` [dpdk-dev] [PATCH v6 06/15] event/sw: switch test counter " Thomas Monjalon
2020-10-30 18:53 ` Van Haaren, Harry
2020-10-30 17:44 ` [dpdk-dev] [PATCH v6 07/15] net/ark: switch user data to dynamic mbuf fields Thomas Monjalon
2020-10-30 17:44 ` [dpdk-dev] [PATCH v6 08/15] net/bnxt: switch CFA code to dynamic mbuf field Thomas Monjalon
2020-10-30 17:44 ` [dpdk-dev] [PATCH v6 09/15] net/vmxnet3: switch MSS hint " Thomas Monjalon
2020-10-30 17:44 ` [dpdk-dev] [PATCH v6 10/15] test/distributor: switch sequence " Thomas Monjalon
2020-10-30 17:44 ` [dpdk-dev] [PATCH v6 11/15] test/graph: switch user data " Thomas Monjalon
2020-10-30 17:44 ` [dpdk-dev] [PATCH v6 12/15] app/eventdev: switch flow ID " Thomas Monjalon
2020-10-30 17:44 ` [dpdk-dev] [PATCH v6 13/15] examples/bbdev: switch " Thomas Monjalon
2020-10-30 17:44 ` [dpdk-dev] [PATCH v6 14/15] examples/rxtx_callbacks: switch TSC to dynamic field Thomas Monjalon
2020-10-30 17:44 ` Thomas Monjalon [this message]
2020-10-31 15:07 ` [dpdk-dev] [PATCH v6 00/15] remove mbuf userdata Thomas Monjalon
2020-10-31 23:36 ` Ferruh Yigit
2020-11-01 9:15 ` Thomas Monjalon
2020-11-01 10:26 ` David Marchand
2020-11-02 9:11 ` Jiawen Wu
2020-11-02 11:08 ` Ferruh Yigit
2020-11-02 11:58 ` 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=20201030174441.1076264-16-thomas@monjalon.net \
--to=thomas@monjalon.net \
--cc=akhil.goyal@nxp.com \
--cc=andrew.rybchenko@oktetlabs.ru \
--cc=bruce.richardson@intel.com \
--cc=david.marchand@redhat.com \
--cc=dev@dpdk.org \
--cc=ferruh.yigit@intel.com \
--cc=jerinj@marvell.com \
--cc=mdr@ashroe.eu \
--cc=nhorman@tuxdriver.com \
--cc=olivier.matz@6wind.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).