From: Luca Boccassi <bluca@debian.org>
To: Rasesh Mody <rasesh.mody@cavium.com>
Cc: dpdk stable <stable@dpdk.org>
Subject: [dpdk-stable] patch 'net/bnx2x: fix VF link state update' has been queued to LTS release 16.11.9
Date: Mon, 19 Nov 2018 12:25:27 +0000 [thread overview]
Message-ID: <20181119122538.14207-10-bluca@debian.org> (raw)
In-Reply-To: <20181119122538.14207-1-bluca@debian.org>
Hi,
FYI, your patch has been queued to LTS release 16.11.9
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/21/18. 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. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.
Thanks.
Luca Boccassi
---
>From f86204d63a27c3d6ddc8b1d63f21fb359d583ed0 Mon Sep 17 00:00:00 2001
From: Rasesh Mody <rasesh.mody@cavium.com>
Date: Thu, 8 Nov 2018 21:19:30 +0000
Subject: [PATCH] net/bnx2x: fix VF link state update
[ upstream commit 39ae74caa0d1158df15ea1e2f8e893eee1a2189d ]
In general the VF driver should not access the chip. For VF link status
update, VF driver should not use HW lock, use bnx2x_link_report_locked()
instead.
Add few prints for releasing previously held HW locks.
Fixes: a9b58b15ed51 ("net/bnx2x: fix to add PHY lock")
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
---
drivers/net/bnx2x/bnx2x.c | 25 +++++++++++++++++++------
1 file changed, 19 insertions(+), 6 deletions(-)
diff --git a/drivers/net/bnx2x/bnx2x.c b/drivers/net/bnx2x/bnx2x.c
index 92abdbbd4..7cf9d1c4e 100644
--- a/drivers/net/bnx2x/bnx2x.c
+++ b/drivers/net/bnx2x/bnx2x.c
@@ -202,8 +202,12 @@ static int bnx2x_acquire_hw_lock(struct bnx2x_softc *sc, uint32_t resource)
uint32_t hw_lock_control_reg;
int cnt;
+#ifndef RTE_LIBRTE_BNX2X_DEBUG_PERIODIC
if (resource)
PMD_INIT_FUNC_TRACE(sc);
+#else
+ PMD_INIT_FUNC_TRACE(sc);
+#endif
/* validate the resource is within range */
if (resource > HW_LOCK_MAX_RESOURCE_VALUE) {
@@ -251,8 +255,12 @@ static int bnx2x_release_hw_lock(struct bnx2x_softc *sc, uint32_t resource)
int func = SC_FUNC(sc);
uint32_t hw_lock_control_reg;
+#ifndef RTE_LIBRTE_BNX2X_DEBUG_PERIODIC
if (resource)
PMD_INIT_FUNC_TRACE(sc);
+#else
+ PMD_INIT_FUNC_TRACE(sc);
+#endif
/* validate the resource is within range */
if (resource > HW_LOCK_MAX_RESOURCE_VALUE) {
@@ -7049,7 +7057,7 @@ void bnx2x_link_status_update(struct bnx2x_softc *sc)
}
bnx2x_link_report(sc);
} else {
- bnx2x_link_report(sc);
+ bnx2x_link_report_locked(sc);
bnx2x_stats_handle(sc, STATS_EVENT_LINK_UP);
}
}
@@ -9412,6 +9420,8 @@ static int bnx2x_prev_unload(struct bnx2x_softc *sc)
uint32_t fw, hw_lock_reg, hw_lock_val;
uint32_t rc = 0;
+ PMD_INIT_FUNC_TRACE(sc);
+
/*
* Clear HW from errors which may have resulted from an interrupted
* DMAE transaction.
@@ -9419,22 +9429,23 @@ static int bnx2x_prev_unload(struct bnx2x_softc *sc)
bnx2x_prev_interrupted_dmae(sc);
/* Release previously held locks */
- if (SC_FUNC(sc) <= 5)
- hw_lock_reg = (MISC_REG_DRIVER_CONTROL_1 + SC_FUNC(sc) * 8);
- else
- hw_lock_reg =
- (MISC_REG_DRIVER_CONTROL_7 + (SC_FUNC(sc) - 6) * 8);
+ hw_lock_reg = (SC_FUNC(sc) <= 5) ?
+ (MISC_REG_DRIVER_CONTROL_1 + SC_FUNC(sc) * 8) :
+ (MISC_REG_DRIVER_CONTROL_7 + (SC_FUNC(sc) - 6) * 8);
hw_lock_val = (REG_RD(sc, hw_lock_reg));
if (hw_lock_val) {
if (hw_lock_val & HW_LOCK_RESOURCE_NVRAM) {
+ PMD_DRV_LOG(DEBUG, sc, "Releasing previously held NVRAM lock\n");
REG_WR(sc, MCP_REG_MCPR_NVM_SW_ARB,
(MCPR_NVM_SW_ARB_ARB_REQ_CLR1 << SC_PORT(sc)));
}
+ PMD_DRV_LOG(DEBUG, sc, "Releasing previously held HW lock\n");
REG_WR(sc, hw_lock_reg, 0xffffffff);
}
if (MCPR_ACCESS_LOCK_LOCK & REG_RD(sc, MCP_REG_MCPR_ACCESS_LOCK)) {
+ PMD_DRV_LOG(DEBUG, sc, "Releasing previously held ALR\n");
REG_WR(sc, MCP_REG_MCPR_ACCESS_LOCK, 0);
}
@@ -9764,6 +9775,8 @@ int bnx2x_attach(struct bnx2x_softc *sc)
sc->fw_seq =
(SHMEM_RD(sc, func_mb[SC_FW_MB_IDX(sc)].drv_mb_header) &
DRV_MSG_SEQ_NUMBER_MASK);
+ PMD_DRV_LOG(DEBUG, sc, "prev unload fw_seq 0x%04x",
+ sc->fw_seq);
bnx2x_prev_unload(sc);
}
--
2.19.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2018-11-19 12:15:18.312223623 +0000
+++ 0010-net-bnx2x-fix-VF-link-state-update.patch 2018-11-19 12:15:18.095611432 +0000
@@ -1,15 +1,16 @@
-From 39ae74caa0d1158df15ea1e2f8e893eee1a2189d Mon Sep 17 00:00:00 2001
+From f86204d63a27c3d6ddc8b1d63f21fb359d583ed0 Mon Sep 17 00:00:00 2001
From: Rasesh Mody <rasesh.mody@cavium.com>
Date: Thu, 8 Nov 2018 21:19:30 +0000
Subject: [PATCH] net/bnx2x: fix VF link state update
+[ upstream commit 39ae74caa0d1158df15ea1e2f8e893eee1a2189d ]
+
In general the VF driver should not access the chip. For VF link status
update, VF driver should not use HW lock, use bnx2x_link_report_locked()
instead.
Add few prints for releasing previously held HW locks.
Fixes: a9b58b15ed51 ("net/bnx2x: fix to add PHY lock")
-Cc: stable@dpdk.org
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
---
@@ -17,10 +18,10 @@
1 file changed, 19 insertions(+), 6 deletions(-)
diff --git a/drivers/net/bnx2x/bnx2x.c b/drivers/net/bnx2x/bnx2x.c
-index 279759366..a6d2687a2 100644
+index 92abdbbd4..7cf9d1c4e 100644
--- a/drivers/net/bnx2x/bnx2x.c
+++ b/drivers/net/bnx2x/bnx2x.c
-@@ -199,8 +199,12 @@ static int bnx2x_acquire_hw_lock(struct bnx2x_softc *sc, uint32_t resource)
+@@ -202,8 +202,12 @@ static int bnx2x_acquire_hw_lock(struct bnx2x_softc *sc, uint32_t resource)
uint32_t hw_lock_control_reg;
int cnt;
@@ -33,7 +34,7 @@
/* validate the resource is within range */
if (resource > HW_LOCK_MAX_RESOURCE_VALUE) {
-@@ -248,8 +252,12 @@ static int bnx2x_release_hw_lock(struct bnx2x_softc *sc, uint32_t resource)
+@@ -251,8 +255,12 @@ static int bnx2x_release_hw_lock(struct bnx2x_softc *sc, uint32_t resource)
int func = SC_FUNC(sc);
uint32_t hw_lock_control_reg;
@@ -46,7 +47,7 @@
/* validate the resource is within range */
if (resource > HW_LOCK_MAX_RESOURCE_VALUE) {
-@@ -7041,7 +7049,7 @@ void bnx2x_link_status_update(struct bnx2x_softc *sc)
+@@ -7049,7 +7057,7 @@ void bnx2x_link_status_update(struct bnx2x_softc *sc)
}
bnx2x_link_report(sc);
} else {
@@ -55,7 +56,7 @@
bnx2x_stats_handle(sc, STATS_EVENT_LINK_UP);
}
}
-@@ -9388,6 +9396,8 @@ static int bnx2x_prev_unload(struct bnx2x_softc *sc)
+@@ -9412,6 +9420,8 @@ static int bnx2x_prev_unload(struct bnx2x_softc *sc)
uint32_t fw, hw_lock_reg, hw_lock_val;
uint32_t rc = 0;
@@ -64,7 +65,7 @@
/*
* Clear HW from errors which may have resulted from an interrupted
* DMAE transaction.
-@@ -9395,22 +9405,23 @@ static int bnx2x_prev_unload(struct bnx2x_softc *sc)
+@@ -9419,22 +9429,23 @@ static int bnx2x_prev_unload(struct bnx2x_softc *sc)
bnx2x_prev_interrupted_dmae(sc);
/* Release previously held locks */
@@ -93,7 +94,7 @@
REG_WR(sc, MCP_REG_MCPR_ACCESS_LOCK, 0);
}
-@@ -9740,6 +9751,8 @@ int bnx2x_attach(struct bnx2x_softc *sc)
+@@ -9764,6 +9775,8 @@ int bnx2x_attach(struct bnx2x_softc *sc)
sc->fw_seq =
(SHMEM_RD(sc, func_mb[SC_FW_MB_IDX(sc)].drv_mb_header) &
DRV_MSG_SEQ_NUMBER_MASK);
next prev parent reply other threads:[~2018-11-19 12:25 UTC|newest]
Thread overview: 118+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-27 8:43 [dpdk-stable] patch 'net/bonding: support matching QinQ ethertype' " Luca Boccassi
2018-09-27 8:43 ` [dpdk-stable] patch 'net/nfp: fix live MAC changes not supported' " Luca Boccassi
2018-09-27 8:43 ` [dpdk-stable] patch 'doc: fix wrong usage of bind command' " Luca Boccassi
2018-09-27 8:43 ` [dpdk-stable] patch 'examples/vhost: remove unnecessary constant' " Luca Boccassi
2018-09-27 8:44 ` [dpdk-stable] patch 'vhost-user: drop connection on message handling failures' " Luca Boccassi
2018-09-27 8:44 ` [dpdk-stable] patch 'net/bonding: use evenly distributed default RSS RETA' " Luca Boccassi
2018-09-27 8:44 ` [dpdk-stable] patch 'net/bonding: do not ignore RSS key on device config' " Luca Boccassi
2018-09-27 8:44 ` [dpdk-stable] patch 'app/testpmd: optimize mbuf pool allocation' " Luca Boccassi
2018-10-03 16:21 ` [dpdk-stable] patch 'acl: forbid rule with priority zero' " Luca Boccassi
2018-10-03 16:52 ` [dpdk-stable] patch 'net/nfp: fix mbuf flags with checksum good' " Luca Boccassi
2018-10-03 16:52 ` [dpdk-stable] patch 'ethdev: fix doxygen comment to be with structure' " Luca Boccassi
2018-10-03 16:52 ` [dpdk-stable] patch 'net/virtio: add missing supported features' " Luca Boccassi
2018-10-03 16:52 ` [dpdk-stable] patch 'vhost: fix corner case for enqueue operation' " Luca Boccassi
2018-10-03 16:52 ` [dpdk-stable] patch 'net/bonding: stop and deactivate slaves on stop' " Luca Boccassi
2018-10-03 16:52 ` [dpdk-stable] patch 'test/crypto: fix number of queue pairs' " Luca Boccassi
2018-10-15 11:51 ` [dpdk-stable] patch 'net/i40e: fix send admin queue command before init' " Luca Boccassi
2018-10-15 11:51 ` [dpdk-stable] patch 'net/i40e/base: fix partition id calculation for X722' " Luca Boccassi
2018-10-15 11:51 ` [dpdk-stable] patch 'net/i40e/base: properly clean resources' " Luca Boccassi
2018-10-15 11:51 ` [dpdk-stable] patch 'net/i40e/base: gracefully clean the " Luca Boccassi
2018-10-15 11:51 ` [dpdk-stable] patch 'net/i40e/base: correct global reset timeout calculation' " Luca Boccassi
2018-10-15 11:51 ` [dpdk-stable] patch 'net/ixgbe: wait longer for link after fiber MAC setup' " Luca Boccassi
2018-10-15 11:51 ` [dpdk-stable] patch 'net/enic: do not use non-standard integer types' " Luca Boccassi
2018-10-15 11:51 ` [dpdk-stable] patch 'net/enic: set Rx VLAN offload flag for non-stripped packets' " Luca Boccassi
2018-10-15 11:51 ` [dpdk-stable] patch 'net/nfp: fix RSS' " Luca Boccassi
2018-10-15 11:51 ` [dpdk-stable] patch 'net/bnx2x: fix logging to include device name' " Luca Boccassi
2018-10-15 11:51 ` [dpdk-stable] patch 'net/bnx2x: fix to disable further interrupts' " Luca Boccassi
2018-10-15 11:51 ` [dpdk-stable] patch 'net/bnx2x: fix call to link handling periodic function' " Luca Boccassi
2018-10-15 11:51 ` [dpdk-stable] patch 'net/bnx2x: fix to add PHY lock' " Luca Boccassi
2018-10-15 11:51 ` [dpdk-stable] patch 'net/bnxt: fix uninitialized pointer access in Tx' " Luca Boccassi
2018-10-15 11:51 ` [dpdk-stable] patch 'net/bnxt: set MAC filtering as outer for non tunnel frames' " Luca Boccassi
2018-10-15 11:51 ` [dpdk-stable] patch 'net/bnxt: set a VNIC as default only once' " Luca Boccassi
2018-10-15 11:51 ` [dpdk-stable] patch 'net/bnxt: remove excess log messages' " Luca Boccassi
2018-10-15 11:51 ` [dpdk-stable] patch 'net/bnxt: reduce polling interval for valid bit' " Luca Boccassi
2018-10-15 11:51 ` [dpdk-stable] patch 'app/testpmd: fix csum parse-tunnel command invocation' " Luca Boccassi
2018-10-15 11:51 ` [dpdk-stable] patch 'app/testpmd: fix displaying RSS hash functions' " Luca Boccassi
2018-10-15 11:51 ` [dpdk-stable] patch 'doc: add VFIO in ENA guide' " Luca Boccassi
2018-10-15 11:51 ` [dpdk-stable] patch 'app/testpmd: fix duplicate exit' " Luca Boccassi
2018-10-15 11:51 ` [dpdk-stable] patch 'net/e1000: do not error out if Rx drop enable is set' " Luca Boccassi
2018-10-15 11:51 ` [dpdk-stable] patch 'eal: use correct data type for bitmap slab operations' " Luca Boccassi
2018-10-29 12:53 ` [dpdk-stable] patch 'net/e1000: do not error out if Rx drop enable is set' " Luca Boccassi
2018-10-29 12:53 ` [dpdk-stable] patch 'eal: use correct data type for bitmap slab operations' " Luca Boccassi
2018-10-29 12:53 ` [dpdk-stable] patch 'vhost: fix payload size of reply' " Luca Boccassi
2018-10-29 13:12 ` Ilya Maximets
2018-10-29 16:32 ` Luca Boccassi
2018-10-29 12:53 ` [dpdk-stable] patch 'kvargs: fix processing a null list' " Luca Boccassi
2018-10-29 12:53 ` [dpdk-stable] patch 'test/hash: fix bucket size in perf test' " Luca Boccassi
2018-10-29 12:53 ` [dpdk-stable] patch 'hash: fix key store element alignment' " Luca Boccassi
2018-10-29 12:53 ` [dpdk-stable] patch 'kni: fix build on Linux 4.19' " Luca Boccassi
2018-10-29 12:53 ` [dpdk-stable] patch 'kni: fix kernel FIFO synchronization' " Luca Boccassi
2018-10-29 12:53 ` [dpdk-stable] patch 'test/kni: check module dependency' " Luca Boccassi
2018-10-29 12:53 ` [dpdk-stable] patch 'hash: remove unnecessary pause' " Luca Boccassi
2018-10-29 12:53 ` [dpdk-stable] patch 'kni: fix build on Linux < 3.14' " Luca Boccassi
2018-10-29 12:53 ` [dpdk-stable] patch 'net/i40e: keep promiscuous on if allmulticast is enabled' " Luca Boccassi
2018-10-29 12:53 ` [dpdk-stable] patch 'net/i40e: enable loopback function for X722 MAC' " Luca Boccassi
2018-10-29 12:53 ` [dpdk-stable] patch 'net/i40e: update Tx offload mask' " Luca Boccassi
2018-10-29 12:53 ` [dpdk-stable] patch 'net/ixgbe: " Luca Boccassi
2018-10-29 12:53 ` [dpdk-stable] patch 'net/ena: fix passing RSS hash to mbuf' " Luca Boccassi
2018-10-29 12:53 ` [dpdk-stable] patch 'doc: fix typo in testpmd guide' " Luca Boccassi
2018-10-29 12:53 ` [dpdk-stable] patch 'ip_frag: fix overflow in key comparison' " Luca Boccassi
2018-10-29 12:53 ` [dpdk-stable] patch 'eal/linux: fix memory leak of logid' " Luca Boccassi
2018-10-29 12:53 ` [dpdk-stable] patch 'fix global variable issues' " Luca Boccassi
2018-11-08 18:00 ` [dpdk-stable] patch 'net/virtio: register/unregister intr handler on start/stop' " Luca Boccassi
2018-11-08 18:00 ` [dpdk-stable] patch 'eal/linux: handle UIO read failure in interrupt handler' " Luca Boccassi
2018-11-08 18:00 ` [dpdk-stable] patch 'mk: disable gcc AVX512F support' " Luca Boccassi
2018-11-09 6:52 ` Christian Ehrhardt
2018-11-09 10:48 ` Luca Boccassi
2018-11-08 18:01 ` [dpdk-stable] patch 'eal: fix build with gcc 9.0' " Luca Boccassi
2018-11-08 18:01 ` [dpdk-stable] patch 'net/vhost: fix parameters string' " Luca Boccassi
2018-11-08 18:01 ` [dpdk-stable] patch 'net/virtio-user: do not reset owner when driver resets' " Luca Boccassi
2018-11-08 18:01 ` [dpdk-stable] patch 'net: fix build with pedantic' " Luca Boccassi
2018-11-08 18:01 ` [dpdk-stable] patch 'net/igb: update Tx offload mask' " Luca Boccassi
2018-11-08 18:01 ` [dpdk-stable] patch 'ip_frag: check fragment length of incoming packet' " Luca Boccassi
2018-11-08 18:01 ` [dpdk-stable] patch 'ip_frag: use key length for key comparison' " Luca Boccassi
2018-11-08 18:01 ` [dpdk-stable] patch 'bus/pci: compare kernel driver instead of interrupt handler' " Luca Boccassi
2018-11-12 18:35 ` Luca Boccassi
2018-11-14 10:02 ` Alejandro Lucero
2018-11-14 11:07 ` Luca Boccassi
2018-11-14 11:36 ` Alejandro Lucero
2018-11-15 17:34 ` Luca Boccassi
2018-11-08 18:01 ` [dpdk-stable] patch 'bus/pci: fix config r/w access' " Luca Boccassi
2018-11-08 18:18 ` Luca Boccassi
2018-11-08 18:01 ` [dpdk-stable] patch 'test/hash: fix build' " Luca Boccassi
2018-11-08 18:01 ` [dpdk-stable] patch 'igb_uio: issue FLR during open and release of device file' " Luca Boccassi
2018-11-08 18:16 ` Luca Boccassi
2018-11-09 9:32 ` Shijith Thotton
2018-11-09 10:43 ` Luca Boccassi
2018-11-09 14:26 ` [dpdk-stable] patch 'igb_uio: remove device reset in open' " Luca Boccassi
2018-11-09 14:26 ` [dpdk-stable] patch 'igb_uio: remove device reset in release' " Luca Boccassi
2018-11-08 18:01 ` [dpdk-stable] patch 'igb_uio: fix unexpected removal for hot-unplug' " Luca Boccassi
2018-11-19 12:25 ` [dpdk-stable] patch 'eal: introduce rte version of fls' " Luca Boccassi
2018-11-19 12:25 ` [dpdk-stable] patch 'eal: fix build' " Luca Boccassi
2018-11-19 12:25 ` [dpdk-stable] patch 'pci: fix parsing of address without function number' " Luca Boccassi
2018-11-19 12:25 ` [dpdk-stable] patch 'net/e1000/base: fix uninitialized variable' " Luca Boccassi
2018-11-19 12:25 ` [dpdk-stable] patch 'net/mlx5: fix build on PPC64' " Luca Boccassi
2018-11-19 12:25 ` [dpdk-stable] patch 'net/thunderx: fix Tx desc corruption in scatter-gather mode' " Luca Boccassi
2018-11-19 12:25 ` [dpdk-stable] patch 'net/virtio-user: fix typo in error message' " Luca Boccassi
2018-11-19 12:25 ` [dpdk-stable] patch 'net/virtio: fix unchecked return value' " Luca Boccassi
2018-11-19 12:48 ` Tiwei Bie
2018-11-19 12:52 ` Luca Boccassi
2018-11-19 12:25 ` [dpdk-stable] patch 'vhost: remove unneeded null pointer check' " Luca Boccassi
2018-11-19 12:25 ` Luca Boccassi [this message]
2018-11-19 12:25 ` [dpdk-stable] patch 'net/bonding: fix crash when stopping mode 4 port' " Luca Boccassi
2018-11-19 12:25 ` [dpdk-stable] patch 'app/testpmd: fix L4 length for UDP checksum' " Luca Boccassi
2018-11-19 12:25 ` [dpdk-stable] patch 'ethdev: fix invalid configuration after failure' " Luca Boccassi
2018-11-19 12:25 ` [dpdk-stable] patch 'net/ixgbevf: fix link state' " Luca Boccassi
2018-11-19 12:25 ` [dpdk-stable] patch 'test/reorder: fix out of bound access' " Luca Boccassi
2018-11-19 12:25 ` [dpdk-stable] patch 'net/i40e: fix X710 Rx after reading some registers' " Luca Boccassi
2018-11-19 12:25 ` [dpdk-stable] patch 'net/ixgbe: fix maximum wait time in comment' " Luca Boccassi
2018-11-19 12:25 ` [dpdk-stable] patch 'examples/ipv4_multicast: fix leak of cloned packets' " Luca Boccassi
2018-11-19 12:25 ` [dpdk-stable] patch 'usertools: check for lspci dependency' " Luca Boccassi
2018-11-19 12:25 ` [dpdk-stable] patch 'doc: fix NUMA library name in Linux guide' " Luca Boccassi
2018-11-19 12:25 ` [dpdk-stable] patch 'doc: fix formatting in IP reassembly app " Luca Boccassi
2018-11-26 12:49 ` [dpdk-stable] patch 'eal: fix build with -O1' " Luca Boccassi
2018-11-26 12:49 ` [dpdk-stable] patch 'kni: fix possible uninitialized variable' " Luca Boccassi
2018-11-26 12:49 ` [dpdk-stable] patch 'config: enable more than 128 cores for arm64' " Luca Boccassi
2018-11-26 12:49 ` [dpdk-stable] patch 'net/ixgbe: fix TDH register write' " Luca Boccassi
2018-11-26 12:49 ` [dpdk-stable] patch 'bus/pci: fix allocation of device path' " Luca Boccassi
2018-11-28 10:11 ` [dpdk-stable] patch 'fix dpdk.org URLs' " 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=20181119122538.14207-10-bluca@debian.org \
--to=bluca@debian.org \
--cc=rasesh.mody@cavium.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).