From: luca.boccassi@gmail.com
To: Shani Peretz <shperetz@nvidia.com>
Cc: Bing Zhao <bingz@nvidia.com>, dpdk stable <stable@dpdk.org>
Subject: patch 'common/mlx5: fix misalignment' has been queued to stable release 22.11.7
Date: Wed, 20 Nov 2024 23:41:44 +0000 [thread overview]
Message-ID: <20241120234215.233355-19-luca.boccassi@gmail.com> (raw)
In-Reply-To: <20241120234215.233355-1-luca.boccassi@gmail.com>
Hi,
FYI, your patch has been queued to stable release 22.11.7
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 11/22/24. So please
shout if anyone has objections.
Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.
Queued patches are on a temporary branch at:
https://github.com/bluca/dpdk-stable
This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/102f2042b2c0c3ea222274c00078913e5b026774
Thanks.
Luca Boccassi
---
From 102f2042b2c0c3ea222274c00078913e5b026774 Mon Sep 17 00:00:00 2001
From: Shani Peretz <shperetz@nvidia.com>
Date: Tue, 12 Nov 2024 10:21:26 +0200
Subject: [PATCH] common/mlx5: fix misalignment
[ upstream commit 90967539d0d1afcfd5237ed85efdc430359a0e6b ]
ASan reported a runtime error due to misalignment
involving three structures.
The first issue arises when accessing
l_inconst->cache[MLX5_LIST_GLOBAL]->h.
If struct mlx5_list_cache is not properly aligned, the pointer gc,
assigned to l_inconst->cache[MLX5_LIST_GLOBAL], could be misaligned.
To address this, the __rte_aligned(16) attribute was added to
struct mlx5_list_inconst in struct mlx5_list, which includes struct
mlx5_list_cache, ensuring that the entire mlx5_list structure,
including mlx5_list_cache, is aligned to 64 bytes.
To resolve misalignment issues with struct mlx5_flow_handle,
The initialization of resources for the ipool ensures that
the ipool size is rounded up to the 8-byte boundary
The error in assigning values to actions[i] was due to potential
padding or misalignment in struct mlx5_modification_cmd.
To prevent such issues, the __rte_packed attribute was added to
struct mlx5_modification_cmd, ensuring that the structure is packed
without extra padding which helps avoid misaligned memory accesses.
Two performance degradation tests were conducted.
Following are the results comparing this commit to the most recent
commit in mlnx_dpdk_22.11 at that time (b69408ae453).
Before asan misalignment fix (average kflows/sec) -
Insertion - 4461.269, Deletion - 7799.9992
After:
Insertion - 4579.0642 , Deletion - 7913.0034
Fixes: 9a4c36880704 ("common/mlx5: optimize cache list object memory")
Signed-off-by: Shani Peretz <shperetz@nvidia.com>
Acked-by: Bing Zhao <bingz@nvidia.com>
---
drivers/common/mlx5/mlx5_common_utils.h | 2 +-
drivers/common/mlx5/mlx5_prm.h | 4 ++--
drivers/net/mlx5/mlx5.c | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/common/mlx5/mlx5_common_utils.h b/drivers/common/mlx5/mlx5_common_utils.h
index ae15119a33..6db0105c53 100644
--- a/drivers/common/mlx5/mlx5_common_utils.h
+++ b/drivers/common/mlx5/mlx5_common_utils.h
@@ -131,7 +131,7 @@ struct mlx5_list_inconst {
* For huge amount of entries, please consider hash list.
*
*/
-struct mlx5_list {
+struct __rte_aligned(16) mlx5_list {
struct mlx5_list_const l_const;
struct mlx5_list_inconst l_inconst;
};
diff --git a/drivers/common/mlx5/mlx5_prm.h b/drivers/common/mlx5/mlx5_prm.h
index 696c59d0fd..cf525c14df 100644
--- a/drivers/common/mlx5/mlx5_prm.h
+++ b/drivers/common/mlx5/mlx5_prm.h
@@ -811,7 +811,7 @@ struct mlx5_modification_cmd {
unsigned int field:12;
unsigned int action_type:4;
};
- };
+ } __rte_packed;
union {
uint32_t data1;
uint8_t data[4];
@@ -822,7 +822,7 @@ struct mlx5_modification_cmd {
unsigned int dst_field:12;
unsigned int rsvd4:4;
};
- };
+ } __rte_packed;
};
typedef uint64_t u64;
diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c
index 1076ad1721..94873dfe89 100644
--- a/drivers/net/mlx5/mlx5.c
+++ b/drivers/net/mlx5/mlx5.c
@@ -904,7 +904,7 @@ mlx5_flow_ipool_create(struct mlx5_dev_ctx_shared *sh)
*/
case MLX5_IPOOL_MLX5_FLOW:
cfg.size = sh->config.dv_flow_en ?
- sizeof(struct mlx5_flow_handle) :
+ RTE_ALIGN_MUL_CEIL(sizeof(struct mlx5_flow_handle), 8) :
MLX5_FLOW_HANDLE_VERBS_SIZE;
break;
#if defined(HAVE_IBV_FLOW_DV_SUPPORT) || !defined(HAVE_INFINIBAND_VERBS_H)
--
2.45.2
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-20 23:41:23.383088625 +0000
+++ 0019-common-mlx5-fix-misalignment.patch 2024-11-20 23:41:22.736195467 +0000
@@ -1 +1 @@
-From 90967539d0d1afcfd5237ed85efdc430359a0e6b Mon Sep 17 00:00:00 2001
+From 102f2042b2c0c3ea222274c00078913e5b026774 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 90967539d0d1afcfd5237ed85efdc430359a0e6b ]
+
@@ -38 +39,0 @@
-Cc: stable@dpdk.org
@@ -49 +50 @@
-index c5eff7a0bf..9139bc6829 100644
+index ae15119a33..6db0105c53 100644
@@ -62 +63 @@
-index 210158350d..2d82807bc2 100644
+index 696c59d0fd..cf525c14df 100644
@@ -65 +66 @@
-@@ -941,7 +941,7 @@ struct mlx5_modification_cmd {
+@@ -811,7 +811,7 @@ struct mlx5_modification_cmd {
@@ -74 +75 @@
-@@ -952,7 +952,7 @@ struct mlx5_modification_cmd {
+@@ -822,7 +822,7 @@ struct mlx5_modification_cmd {
@@ -84 +85 @@
-index 52b90e6ff3..6e4473e2f4 100644
+index 1076ad1721..94873dfe89 100644
@@ -87 +88 @@
-@@ -907,7 +907,7 @@ mlx5_flow_ipool_create(struct mlx5_dev_ctx_shared *sh)
+@@ -904,7 +904,7 @@ mlx5_flow_ipool_create(struct mlx5_dev_ctx_shared *sh)
next prev parent reply other threads:[~2024-11-20 23:43 UTC|newest]
Thread overview: 155+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-23 21:15 patch 'devtools: fix forbidden token check with multiple files' " luca.boccassi
2024-10-23 21:15 ` patch 'eal/x86: fix 32-bit write combining store' " luca.boccassi
2024-10-23 21:15 ` patch 'examples/eventdev: fix queue crash with generic pipeline' " luca.boccassi
2024-10-23 21:15 ` patch 'crypto/dpaa2_sec: fix memory leak' " luca.boccassi
2024-10-23 21:15 ` patch 'common/dpaax/caamflib: fix PDCP SNOW-ZUC watchdog' " luca.boccassi
2024-10-23 21:15 ` patch 'dev: fix callback lookup when unregistering device' " luca.boccassi
2024-10-23 21:15 ` patch 'examples/ipsec-secgw: fix dequeue count from cryptodev' " luca.boccassi
2024-10-23 21:15 ` patch 'bpf: fix free function mismatch if convert fails' " luca.boccassi
2024-10-23 21:15 ` patch 'baseband/la12xx: fix use after free in modem config' " luca.boccassi
2024-10-23 21:15 ` patch 'crypto/bcmfs: fix free function mismatch' " luca.boccassi
2024-10-23 21:15 ` patch 'dma/idxd: fix free function mismatch in device probe' " luca.boccassi
2024-10-23 21:15 ` patch 'event/cnxk: fix free function mismatch in port config' " luca.boccassi
2024-10-23 21:15 ` patch 'net/e1000: fix use after free in filter flush' " luca.boccassi
2024-10-23 21:15 ` patch 'net/nfp: fix double free in flow destroy' " luca.boccassi
2024-10-23 21:15 ` patch 'net/sfc: fix use after free in debug logs' " luca.boccassi
2024-10-23 21:15 ` patch 'raw/ifpga/base: fix use after free' " luca.boccassi
2024-10-23 21:15 ` patch 'raw/ifpga: fix free function mismatch in interrupt config' " luca.boccassi
2024-10-23 21:15 ` patch 'examples/vhost: fix free function mismatch' " luca.boccassi
2024-10-23 21:15 ` patch 'net/nfb: fix use after free' " luca.boccassi
2024-10-23 21:16 ` patch 'power: enable CPPC' " luca.boccassi
2024-10-23 21:16 ` patch 'fib6: add runtime checks in AVX512 lookup' " luca.boccassi
2024-10-23 21:16 ` patch 'app/dumpcap: fix handling of jumbo frames' " luca.boccassi
2024-10-23 21:16 ` patch 'net/cnxk: fix Rx timestamp handling for VF' " luca.boccassi
2024-10-23 21:16 ` patch 'net/cnxk: fix Rx offloads to handle timestamp' " luca.boccassi
2024-10-23 21:16 ` patch 'event/cnxk: fix Rx timestamp handling' " luca.boccassi
2024-10-23 21:16 ` patch 'common/cnxk: fix CPT HW word size for outbound SA' " luca.boccassi
2024-10-23 21:16 ` patch 'common/cnxk: fix base log level' " luca.boccassi
2024-10-23 21:16 ` patch 'baseband/acc: fix access to deallocated mem' " luca.boccassi
2024-10-23 21:16 ` patch 'vhost: fix offset while mapping log base address' " luca.boccassi
2024-10-23 21:16 ` patch 'vdpa: update used flags in used ring relay' " luca.boccassi
2024-10-23 21:16 ` patch 'net/virtio-user: reset used index counter' " luca.boccassi
2024-10-23 21:16 ` patch 'fib: fix AVX512 lookup' " luca.boccassi
2024-10-23 21:16 ` patch 'net/e1000: fix link status crash in secondary process' " luca.boccassi
2024-10-23 21:16 ` patch 'net/iavf: fix crash when link is unstable' " luca.boccassi
2024-10-23 21:16 ` patch 'net/ice/base: fix link speed for 200G' " luca.boccassi
2024-10-23 21:16 ` patch 'net/ice/base: fix iteration of TLVs in Preserved Fields Area' " luca.boccassi
2024-10-23 21:16 ` patch 'net/ixgbe/base: fix unchecked return value' " luca.boccassi
2024-10-23 21:16 ` patch 'net/i40e/base: fix setting flags in init function' " luca.boccassi
2024-10-23 21:16 ` patch 'net/i40e/base: fix misleading debug logs and comments' " luca.boccassi
2024-10-23 21:16 ` patch 'net/i40e/base: fix blinking X722 with X557 PHY' " luca.boccassi
2024-10-23 21:16 ` patch 'net/i40e/base: fix DDP loading with reserved track ID' " luca.boccassi
2024-10-23 21:16 ` patch 'net/i40e/base: fix repeated register dumps' " luca.boccassi
2024-10-23 21:16 ` patch 'net/i40e/base: fix unchecked return value' " luca.boccassi
2024-10-23 21:16 ` patch 'net/i40e/base: fix loop bounds' " luca.boccassi
2024-10-23 21:16 ` patch 'net/i40e: fix AVX-512 pointer copy on 32-bit' " luca.boccassi
2024-10-23 21:16 ` patch 'net/ice: " luca.boccassi
2024-10-23 21:16 ` patch 'net/iavf: " luca.boccassi
2024-10-23 21:16 ` patch 'net/tap: avoid memcpy with null argument' " luca.boccassi
2024-10-23 21:16 ` patch 'app/testpmd: remove unnecessary cast' " luca.boccassi
2024-10-23 21:16 ` patch 'net/pcap: set live interface as non-blocking' " luca.boccassi
2024-10-23 21:16 ` patch 'net/mana: support rdma-core via pkg-config' " luca.boccassi
2024-10-23 21:16 ` patch 'net/ena: revert redefining memcpy' " luca.boccassi
2024-10-23 21:16 ` patch 'net/hns3: remove some basic address dump' " luca.boccassi
2024-10-23 21:16 ` patch 'net/hns3: fix dump counter of registers' " luca.boccassi
2024-10-23 21:16 ` patch 'ethdev: fix overflow in descriptor count' " luca.boccassi
2024-10-23 21:16 ` patch 'bus/dpaa: fix PFDRs leaks due to FQRNIs' " luca.boccassi
2024-10-23 21:16 ` patch 'net/dpaa: fix typecasting channel ID' " luca.boccassi
2024-10-23 21:16 ` patch 'bus/dpaa: fix VSP for 1G fm1-mac9 and 10' " luca.boccassi
2024-10-23 21:16 ` patch 'bus/dpaa: fix the fman details status' " luca.boccassi
2024-10-23 21:16 ` patch 'net/dpaa: fix reallocate mbuf handling' " luca.boccassi
2024-10-23 21:16 ` patch 'net/memif: fix buffer overflow in zero copy Rx' " luca.boccassi
2024-10-23 21:16 ` patch 'net/tap: restrict maximum number of MP FDs' " luca.boccassi
2024-10-23 21:16 ` patch 'ethdev: verify queue ID in Tx done cleanup' " luca.boccassi
2024-10-23 21:16 ` patch 'net/hns3: verify reset type from firmware' " luca.boccassi
2024-10-23 21:16 ` patch 'net/nfp: fix link change return value' " luca.boccassi
2024-10-23 21:16 ` patch 'net/pcap: fix blocking Rx' " luca.boccassi
2024-10-23 21:16 ` patch 'net/ice/base: add bounds check' " luca.boccassi
2024-10-23 21:16 ` patch 'net/ice/base: fix VLAN replay after reset' " luca.boccassi
2024-10-23 21:16 ` patch 'net/iavf: preserve MAC address with i40e PF Linux driver' " luca.boccassi
2024-10-23 21:16 ` patch 'net/mlx5: workaround list management of Rx queue control' " luca.boccassi
2024-10-23 21:16 ` patch 'net/mlx5: fix number of supported flex parsers' " luca.boccassi
2024-10-23 21:16 ` patch 'app/testpmd: remove flex item init command leftover' " luca.boccassi
2024-10-23 21:16 ` patch 'net/mlx5: fix next protocol validation after flex item' " luca.boccassi
2024-10-23 21:16 ` patch 'build: remove version check on compiler links function' " luca.boccassi
2024-10-23 21:16 ` patch 'hash: fix thash LFSR initialization' " luca.boccassi
2024-10-23 21:16 ` patch 'dmadev: fix potential null pointer access' " luca.boccassi
2024-10-23 21:16 ` patch 'net/gve/base: fix build with Fedora Rawhide' " luca.boccassi
2024-10-23 21:16 ` patch 'power: fix mapped lcore ID' " luca.boccassi
2024-10-23 21:16 ` patch 'net/ionic: fix build on Fedora Rawhide' " luca.boccassi
2024-11-12 22:07 ` patch 'buildtools/chkincs: check driver specific headers' " luca.boccassi
2024-11-12 22:07 ` patch 'net/netvsc: fix using Tx queue higher than Rx queues' " luca.boccassi
2024-11-12 22:07 ` patch 'net/hns3: restrict tunnel flow rule to one header' " luca.boccassi
2024-11-12 22:07 ` patch 'net/ice: detect stopping a flow director queue twice' " luca.boccassi
2024-11-12 22:07 ` patch 'net/ixgbe: fix link status delay on FreeBSD' " luca.boccassi
2024-11-12 22:07 ` patch 'net/mvneta: fix possible out-of-bounds write' " luca.boccassi
2024-11-12 22:07 ` patch 'config/arm: fix warning for native build with meson >= 0.55' " luca.boccassi
2024-11-12 22:07 ` patch 'crypto/openssl: fix 3DES-CTR with big endian CPUs' " luca.boccassi
2024-11-12 22:07 ` patch 'eal/unix: optimize thread creation' " luca.boccassi
2024-11-13 7:45 ` David Marchand
2024-11-12 22:07 ` patch 'net/mlx5: fix memory leak in metering' " luca.boccassi
2024-11-12 22:07 ` patch 'net/mlx5: fix GRE flow item translation for root table' " luca.boccassi
2024-11-12 22:07 ` patch 'net/mlx5: fix SQ flow item size' " luca.boccassi
2024-11-12 22:07 ` patch 'net/mlx5: fix SWS meter state initialization' " luca.boccassi
2024-11-12 22:07 ` patch 'net/mlx5: fix reported Rx/Tx descriptor limits' " luca.boccassi
2024-11-12 22:07 ` patch 'app/dumpcap: remove unused struct array' " luca.boccassi
2024-11-12 22:07 ` patch 'bus/fslmc: fix Coverity warnings in QBMAN' " luca.boccassi
2024-11-12 22:07 ` patch 'net/dpaa2: fix memory corruption in TM' " luca.boccassi
2024-11-12 22:07 ` patch 'examples/l3fwd: fix read beyond boundaries' " luca.boccassi
2024-11-12 22:07 ` patch 'test/bonding: remove redundant info query' " luca.boccassi
2024-11-12 22:07 ` patch 'examples/ntb: check info query return' " luca.boccassi
2024-11-12 22:07 ` patch 'net/netvsc: force Tx VLAN offload on 801.2Q packet' " luca.boccassi
2024-11-12 22:07 ` patch 'net/vmxnet3: fix crash after configuration failure' " luca.boccassi
2024-11-12 22:07 ` patch 'net/hns3: remove ROH devices' " luca.boccassi
2024-11-12 22:07 ` patch 'net/txgbe: fix SWFW mbox' " luca.boccassi
2024-11-12 22:07 ` patch 'net/txgbe: fix VF-PF mbox interrupt' " luca.boccassi
2024-11-12 22:07 ` patch 'net/txgbe: remove outer UDP checksum capability' " luca.boccassi
2024-11-12 22:07 ` patch 'net/txgbe: fix driver load bit to inform firmware' " luca.boccassi
2024-11-12 22:07 ` patch 'net/ngbe: " luca.boccassi
2024-11-12 22:07 ` patch 'net/ngbe: reconfigure more MAC Rx registers' " luca.boccassi
2024-11-12 22:07 ` patch 'net/ngbe: fix interrupt lost in legacy or MSI mode' " luca.boccassi
2024-11-12 22:07 ` patch 'net/ngbe: restrict configuration of VLAN strip offload' " luca.boccassi
2024-11-12 22:07 ` patch 'net/vmxnet3: fix potential out of bounds stats access' " luca.boccassi
2024-11-12 22:07 ` patch 'net/vmxnet3: support larger MTU with version 6' " luca.boccassi
2024-11-12 22:07 ` patch 'net/hns3: fix error code for repeatedly create counter' " luca.boccassi
2024-11-12 22:07 ` patch 'net/hns3: fix fully use hardware flow director table' " luca.boccassi
2024-11-12 22:07 ` patch 'event/octeontx: fix possible integer overflow' " luca.boccassi
2024-11-12 22:07 ` patch 'baseband/acc: fix ring memory allocation' " luca.boccassi
2024-11-12 22:07 ` patch 'crypto/openssl: fix potential string overflow' " luca.boccassi
2024-11-12 22:07 ` patch 'test/crypto: fix synchronous API calls' " luca.boccassi
2024-11-12 22:07 ` patch 'crypto/qat: fix modexp/inv length' " luca.boccassi
2024-11-20 23:41 ` patch 'net/bnxt/tf_core: fix Thor TF EM key size check' " luca.boccassi
2024-11-20 23:41 ` patch 'net/bnxt/tf_ulp: fix parent child DB counters' " luca.boccassi
2024-11-20 23:41 ` patch 'net/bnxt: fix reading SFF-8436 SFP EEPROMs' " luca.boccassi
2024-11-20 23:41 ` patch 'net/bnxt: fix TCP and UDP checksum flags' " luca.boccassi
2024-11-20 23:41 ` patch 'net/bnxt: fix bad action offset in Tx BD' " luca.boccassi
2024-11-20 23:41 ` patch 'net/bnx2x: remove dead conditional' " luca.boccassi
2024-11-20 23:41 ` patch 'net/bnx2x: fix always true expression' " luca.boccassi
2024-11-20 23:41 ` patch 'net/bnx2x: fix possible infinite loop at startup' " luca.boccassi
2024-11-20 23:41 ` patch 'net/bnx2x: fix duplicate branch' " luca.boccassi
2024-11-20 23:41 ` patch 'common/cnxk: fix build on Ubuntu 24.04' " luca.boccassi
2024-11-20 23:41 ` patch 'net/cnxk: " luca.boccassi
2024-11-20 23:41 ` patch 'examples/l2fwd-event: fix spinlock handling' " luca.boccassi
2024-11-20 23:41 ` patch 'eventdev: fix possible array underflow/overflow' " luca.boccassi
2024-11-20 23:41 ` patch 'net/dpaa2: remove unnecessary check for null before free' " luca.boccassi
2024-11-20 23:41 ` patch 'common/mlx5: fix error CQE handling for 128 bytes CQE' " luca.boccassi
2024-11-20 23:41 ` patch 'net/mlx5: fix shared queue port number in vector Rx' " luca.boccassi
2024-11-20 23:41 ` patch 'net/mlx5/hws: fix allocation of STCs' " luca.boccassi
2024-11-20 23:41 ` patch 'net/mlx5: fix counter query loop getting stuck' " luca.boccassi
2024-11-20 23:41 ` luca.boccassi [this message]
2024-11-20 23:41 ` patch 'net/mlx5: fix default RSS flows creation order' " luca.boccassi
2024-11-20 23:41 ` patch 'net/mlx5: fix Rx queue reference count in flushing flows' " luca.boccassi
2024-11-20 23:41 ` patch 'bus/dpaa: fix lock condition during error handling' " luca.boccassi
2024-11-20 23:41 ` patch 'net/iavf: add segment-length check to Tx prep' " luca.boccassi
2024-11-20 23:41 ` patch 'net/i40e: check register read for outer VLAN' " luca.boccassi
2024-11-20 23:41 ` patch 'common/dpaax/caamflib: enable fallthrough warnings' " luca.boccassi
2024-11-20 23:41 ` patch 'app/procinfo: fix leak on exit' " luca.boccassi
2024-11-20 23:41 ` patch 'member: fix choice of bucket for displacement' " luca.boccassi
2024-11-20 23:41 ` patch 'app/testpmd: fix aged flow destroy' " luca.boccassi
2024-11-27 0:54 ` patch 'test/bonding: fix loop on members' " luca.boccassi
2024-11-27 0:54 ` patch 'test/bonding: fix MAC address comparison' " luca.boccassi
2024-11-27 0:54 ` patch 'test/event: avoid duplicate initialization' " luca.boccassi
2024-11-27 0:54 ` patch 'test/eal: fix loop coverage for alignment macros' " luca.boccassi
2024-11-27 0:54 ` patch 'test/eal: fix lcore check' " luca.boccassi
2024-11-27 0:54 ` patch 'app/testpmd: remove redundant policy action condition' " luca.boccassi
2024-11-27 0:54 ` patch 'doc: correct definition of stats per queue feature' " luca.boccassi
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=20241120234215.233355-19-luca.boccassi@gmail.com \
--to=luca.boccassi@gmail.com \
--cc=bingz@nvidia.com \
--cc=shperetz@nvidia.com \
--cc=stable@dpdk.org \
/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).