From: "Mattias Rönnblom" <mattias.ronnblom@ericsson.com>
To: Jerin Jacob <jerinjacobk@gmail.com>
Cc: harry.van.haaren@intel.com, jerinj@marvell.com,
"Sunil Kumar Kori" <skori@marvell.com>,
dev@dpdk.org,
"Pavan Nikhilesh Bhagavatula" <pbhagavatula@marvell.com>,
"Hemant Agrawal" <hemant.agrawal@nxp.com>,
"Nipun Gupta" <nipun.gupta@nxp.com>,
"Thomas Monjalon" <thomas@monjalon.net>,
"David Marchand" <david.marchand@redhat.com>,
abhinandan.gujjar@intel.com, erik.g.carrillo@intel.com,
jay.jayatheerthan@intel.com, ferruh.yigit@intel.com,
"Akhil Goyal" <gakhil@marvell.com>,
"Mattias Rönnblom" <mattias.ronnblom@ericsson.com>
Subject: [dpdk-dev] [PATCH v3] eventdev: negate maintenance capability flag
Date: Wed, 10 Nov 2021 12:32:10 +0100 [thread overview]
Message-ID: <20211110113210.21770-1-mattias.ronnblom@ericsson.com> (raw)
In-Reply-To: <CALBAE1MM=NqUSMUv5Yc6x10esC0jLiRF4_BtupwosAUYPzQeDQ@mail.gmail.com>
Replace RTE_EVENT_DEV_CAP_REQUIRES_MAINT, which signaled the need
for the application to call rte_event_maintain(), with
RTE_EVENT_DEV_CAP_MAINTENANCE_FREE, which does the opposite (i.e.,
signifies that the event device does not require maintenance).
This approach is more in line with how other eventdev hardware and/or
software limitations are handled in the Eventdev API.
v3: Fix invalid references in the API documentation
v2: New flag was not properly set in opdl_evdev.c
Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
---
doc/guides/eventdevs/dsw.rst | 4 ++--
drivers/event/cnxk/cnxk_eventdev.c | 3 ++-
drivers/event/dlb2/dlb2.c | 3 ++-
drivers/event/dpaa/dpaa_eventdev.c | 3 ++-
drivers/event/dpaa2/dpaa2_eventdev.c | 3 ++-
drivers/event/dsw/dsw_evdev.c | 3 +--
drivers/event/octeontx/ssovf_evdev.c | 3 ++-
drivers/event/octeontx2/otx2_evdev.c | 3 ++-
drivers/event/opdl/opdl_evdev.c | 3 ++-
drivers/event/skeleton/skeleton_eventdev.c | 3 ++-
drivers/event/sw/sw_evdev.c | 3 ++-
lib/eventdev/rte_eventdev.h | 27 +++++++++++-----------
12 files changed, 35 insertions(+), 26 deletions(-)
diff --git a/doc/guides/eventdevs/dsw.rst b/doc/guides/eventdevs/dsw.rst
index 18f7e9588f..5c6b51f65f 100644
--- a/doc/guides/eventdevs/dsw.rst
+++ b/doc/guides/eventdevs/dsw.rst
@@ -44,8 +44,8 @@ Port Maintenance
~~~~~~~~~~~~~~~~
The distributed software eventdev uses an internal signaling scheme
-between the ports to achieve load balancing. Therefore, it sets the
-``RTE_EVENT_DEV_CAP_REQUIRES_MAINT`` flag.
+between the ports to achieve load balancing. Therefore, it does not
+set the ``RTE_EVENT_DEV_CAP_MAINTENANCE_FREE`` flag.
During periods when the application thread using a particular port is
neither attempting to enqueue nor to dequeue events, it must
diff --git a/drivers/event/cnxk/cnxk_eventdev.c b/drivers/event/cnxk/cnxk_eventdev.c
index 50d5c351bc..f7a5026250 100644
--- a/drivers/event/cnxk/cnxk_eventdev.c
+++ b/drivers/event/cnxk/cnxk_eventdev.c
@@ -119,7 +119,8 @@ cnxk_sso_info_get(struct cnxk_sso_evdev *dev,
RTE_EVENT_DEV_CAP_RUNTIME_PORT_LINK |
RTE_EVENT_DEV_CAP_MULTIPLE_QUEUE_PORT |
RTE_EVENT_DEV_CAP_NONSEQ_MODE |
- RTE_EVENT_DEV_CAP_CARRY_FLOW_ID;
+ RTE_EVENT_DEV_CAP_CARRY_FLOW_ID |
+ RTE_EVENT_DEV_CAP_MAINTENANCE_FREE;
}
int
diff --git a/drivers/event/dlb2/dlb2.c b/drivers/event/dlb2/dlb2.c
index 0dbe85762c..16e9764dbf 100644
--- a/drivers/event/dlb2/dlb2.c
+++ b/drivers/event/dlb2/dlb2.c
@@ -66,7 +66,8 @@ static struct rte_event_dev_info evdev_dlb2_default_info = {
RTE_EVENT_DEV_CAP_BURST_MODE |
RTE_EVENT_DEV_CAP_DISTRIBUTED_SCHED |
RTE_EVENT_DEV_CAP_IMPLICIT_RELEASE_DISABLE |
- RTE_EVENT_DEV_CAP_QUEUE_ALL_TYPES),
+ RTE_EVENT_DEV_CAP_QUEUE_ALL_TYPES |
+ RTE_EVENT_DEV_CAP_MAINTENANCE_FREE),
};
struct process_local_port_data
diff --git a/drivers/event/dpaa/dpaa_eventdev.c b/drivers/event/dpaa/dpaa_eventdev.c
index eec4bc62b7..ff6cc0be18 100644
--- a/drivers/event/dpaa/dpaa_eventdev.c
+++ b/drivers/event/dpaa/dpaa_eventdev.c
@@ -356,7 +356,8 @@ dpaa_event_dev_info_get(struct rte_eventdev *dev,
RTE_EVENT_DEV_CAP_BURST_MODE |
RTE_EVENT_DEV_CAP_MULTIPLE_QUEUE_PORT |
RTE_EVENT_DEV_CAP_NONSEQ_MODE |
- RTE_EVENT_DEV_CAP_CARRY_FLOW_ID;
+ RTE_EVENT_DEV_CAP_CARRY_FLOW_ID |
+ RTE_EVENT_DEV_CAP_MAINTENANCE_FREE;
}
static int
diff --git a/drivers/event/dpaa2/dpaa2_eventdev.c b/drivers/event/dpaa2/dpaa2_eventdev.c
index 710156ad14..4d94c315d2 100644
--- a/drivers/event/dpaa2/dpaa2_eventdev.c
+++ b/drivers/event/dpaa2/dpaa2_eventdev.c
@@ -408,7 +408,8 @@ dpaa2_eventdev_info_get(struct rte_eventdev *dev,
RTE_EVENT_DEV_CAP_MULTIPLE_QUEUE_PORT |
RTE_EVENT_DEV_CAP_NONSEQ_MODE |
RTE_EVENT_DEV_CAP_QUEUE_ALL_TYPES |
- RTE_EVENT_DEV_CAP_CARRY_FLOW_ID;
+ RTE_EVENT_DEV_CAP_CARRY_FLOW_ID |
+ RTE_EVENT_DEV_CAP_MAINTENANCE_FREE;
}
diff --git a/drivers/event/dsw/dsw_evdev.c b/drivers/event/dsw/dsw_evdev.c
index 5ff8fcc6a9..ffabf0d23d 100644
--- a/drivers/event/dsw/dsw_evdev.c
+++ b/drivers/event/dsw/dsw_evdev.c
@@ -222,8 +222,7 @@ dsw_info_get(struct rte_eventdev *dev __rte_unused,
RTE_EVENT_DEV_CAP_DISTRIBUTED_SCHED|
RTE_EVENT_DEV_CAP_NONSEQ_MODE|
RTE_EVENT_DEV_CAP_MULTIPLE_QUEUE_PORT|
- RTE_EVENT_DEV_CAP_CARRY_FLOW_ID|
- RTE_EVENT_DEV_CAP_REQUIRES_MAINT
+ RTE_EVENT_DEV_CAP_CARRY_FLOW_ID
};
}
diff --git a/drivers/event/octeontx/ssovf_evdev.c b/drivers/event/octeontx/ssovf_evdev.c
index 366b6d356b..9e14e35d10 100644
--- a/drivers/event/octeontx/ssovf_evdev.c
+++ b/drivers/event/octeontx/ssovf_evdev.c
@@ -155,7 +155,8 @@ ssovf_info_get(struct rte_eventdev *dev, struct rte_event_dev_info *dev_info)
RTE_EVENT_DEV_CAP_RUNTIME_PORT_LINK |
RTE_EVENT_DEV_CAP_MULTIPLE_QUEUE_PORT |
RTE_EVENT_DEV_CAP_NONSEQ_MODE |
- RTE_EVENT_DEV_CAP_CARRY_FLOW_ID;
+ RTE_EVENT_DEV_CAP_CARRY_FLOW_ID |
+ RTE_EVENT_DEV_CAP_MAINTENANCE_FREE;
}
diff --git a/drivers/event/octeontx2/otx2_evdev.c b/drivers/event/octeontx2/otx2_evdev.c
index f26bed334f..ccf28b678b 100644
--- a/drivers/event/octeontx2/otx2_evdev.c
+++ b/drivers/event/octeontx2/otx2_evdev.c
@@ -505,7 +505,8 @@ otx2_sso_info_get(struct rte_eventdev *event_dev,
RTE_EVENT_DEV_CAP_RUNTIME_PORT_LINK |
RTE_EVENT_DEV_CAP_MULTIPLE_QUEUE_PORT |
RTE_EVENT_DEV_CAP_NONSEQ_MODE |
- RTE_EVENT_DEV_CAP_CARRY_FLOW_ID;
+ RTE_EVENT_DEV_CAP_CARRY_FLOW_ID |
+ RTE_EVENT_DEV_CAP_MAINTENANCE_FREE;
}
static void
diff --git a/drivers/event/opdl/opdl_evdev.c b/drivers/event/opdl/opdl_evdev.c
index 5007e9a7bf..15c10240b0 100644
--- a/drivers/event/opdl/opdl_evdev.c
+++ b/drivers/event/opdl/opdl_evdev.c
@@ -375,7 +375,8 @@ opdl_info_get(struct rte_eventdev *dev, struct rte_event_dev_info *info)
.max_event_port_enqueue_depth = MAX_OPDL_CONS_Q_DEPTH,
.max_num_events = OPDL_INFLIGHT_EVENTS_TOTAL,
.event_dev_cap = RTE_EVENT_DEV_CAP_BURST_MODE |
- RTE_EVENT_DEV_CAP_CARRY_FLOW_ID,
+ RTE_EVENT_DEV_CAP_CARRY_FLOW_ID |
+ RTE_EVENT_DEV_CAP_MAINTENANCE_FREE,
};
*info = evdev_opdl_info;
diff --git a/drivers/event/skeleton/skeleton_eventdev.c b/drivers/event/skeleton/skeleton_eventdev.c
index af0efb3302..bf3b01ebc8 100644
--- a/drivers/event/skeleton/skeleton_eventdev.c
+++ b/drivers/event/skeleton/skeleton_eventdev.c
@@ -102,7 +102,8 @@ skeleton_eventdev_info_get(struct rte_eventdev *dev,
dev_info->event_dev_cap = RTE_EVENT_DEV_CAP_QUEUE_QOS |
RTE_EVENT_DEV_CAP_BURST_MODE |
RTE_EVENT_DEV_CAP_EVENT_QOS |
- RTE_EVENT_DEV_CAP_CARRY_FLOW_ID;
+ RTE_EVENT_DEV_CAP_CARRY_FLOW_ID |
+ RTE_EVENT_DEV_CAP_MAINTENANCE_FREE;
}
static int
diff --git a/drivers/event/sw/sw_evdev.c b/drivers/event/sw/sw_evdev.c
index 070a4802e9..808f59d1e5 100644
--- a/drivers/event/sw/sw_evdev.c
+++ b/drivers/event/sw/sw_evdev.c
@@ -609,7 +609,8 @@ sw_info_get(struct rte_eventdev *dev, struct rte_event_dev_info *info)
RTE_EVENT_DEV_CAP_RUNTIME_PORT_LINK |
RTE_EVENT_DEV_CAP_MULTIPLE_QUEUE_PORT |
RTE_EVENT_DEV_CAP_NONSEQ_MODE |
- RTE_EVENT_DEV_CAP_CARRY_FLOW_ID),
+ RTE_EVENT_DEV_CAP_CARRY_FLOW_ID |
+ RTE_EVENT_DEV_CAP_MAINTENANCE_FREE),
};
*info = evdev_sw_info;
diff --git a/lib/eventdev/rte_eventdev.h b/lib/eventdev/rte_eventdev.h
index e026486ca5..eef47d8acc 100644
--- a/lib/eventdev/rte_eventdev.h
+++ b/lib/eventdev/rte_eventdev.h
@@ -299,13 +299,14 @@ struct rte_event;
* the content of this field is implementation dependent.
*/
-#define RTE_EVENT_DEV_CAP_REQUIRES_MAINT (1ULL << 10)
-/**< Event device requires calls to rte_event_maintain() during
- * periods when neither rte_event_dequeue_burst() nor
- * rte_event_enqueue_burst() are called on a port. This will allow the
- * event device to perform internal processing, such as flushing
- * buffered events, return credits to a global pool, or process
- * signaling related to load balancing.
+#define RTE_EVENT_DEV_CAP_MAINTENANCE_FREE (1ULL << 10)
+/**< Event device *does not* require calls to rte_event_maintain().
+ * An event device that does not set this flag requires calls to
+ * rte_event_maintain() during periods when neither
+ * rte_event_dequeue_burst() nor rte_event_enqueue_burst() are called
+ * on a port. This will allow the event device to perform internal
+ * processing, such as flushing buffered events, return credits to a
+ * global pool, or process signaling related to load balancing.
*/
/* Event device priority levels */
@@ -2082,8 +2083,8 @@ rte_event_dequeue_burst(uint8_t dev_id, uint8_t port_id, struct rte_event ev[],
/**
* Maintain an event device.
*
- * This function is only relevant for event devices which have the
- * @ref RTE_EVENT_DEV_CAP_REQUIRES_MAINT flag set. Such devices
+ * This function is only relevant for event devices which do not have
+ * the @ref RTE_EVENT_DEV_CAP_MAINTENANCE_FREE flag set. Such devices
* require an application thread using a particular port to
* periodically call rte_event_maintain() on that port during periods
* which it is neither attempting to enqueue events to nor dequeue
@@ -2098,9 +2099,9 @@ rte_event_dequeue_burst(uint8_t dev_id, uint8_t port_id, struct rte_event ev[],
* or dequeue functions are being called, at the cost of a slight
* increase in overhead.
*
- * rte_event_maintain() may be called on event devices which haven't
- * set @ref RTE_EVENT_DEV_CAP_REQUIRES_MAINT flag, in which case it is
- * a no-operation.
+ * rte_event_maintain() may be called on event devices which have set
+ * @ref RTE_EVENT_DEV_CAP_MAINTENANCE_FREE, in which case it is a
+ * no-operation.
*
* @param dev_id
* The identifier of the device.
@@ -2112,7 +2113,7 @@ rte_event_dequeue_burst(uint8_t dev_id, uint8_t port_id, struct rte_event ev[],
* - 0 on success.
* - -EINVAL if *dev_id*, *port_id*, or *op* is invalid.
*
- * @see RTE_EVENT_DEV_CAP_REQUIRES_MAINT
+ * @see RTE_EVENT_DEV_CAP_MAINTENANCE_FREE
*/
__rte_experimental
static inline int
--
2.25.1
next prev parent reply other threads:[~2021-11-10 11:32 UTC|newest]
Thread overview: 86+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-07 11:12 [dpdk-dev] [PATCH 1/3] doc: add skeleton for eventdevs feature metrices Sunil Kumar Kori
2019-11-07 11:12 ` [dpdk-dev] [PATCH 2/3] doc: update eventdev feature matrix for octeontx2 Sunil Kumar Kori
2019-11-07 11:12 ` [dpdk-dev] [PATCH 3/3] doc: update eventdev feature matrix for octeontx Sunil Kumar Kori
2019-11-15 7:38 ` [dpdk-dev] [PATCH 1/3] doc: add skeleton for eventdevs feature metrices Jerin Jacob
2019-11-21 7:44 ` [dpdk-dev] [PATCH v2 1/3] doc: add skeleton for eventdevs feature matrices Sunil Kumar Kori
2019-11-21 7:44 ` [dpdk-dev] [PATCH v2 2/3] doc: update eventdev feature matrix for octeontx2 Sunil Kumar Kori
2019-11-21 7:44 ` [dpdk-dev] [PATCH v2 3/3] doc: update eventdev feature matrix for octeontx Sunil Kumar Kori
2019-11-28 15:49 ` [dpdk-dev] [PATCH v2 1/3] doc: add skeleton for eventdevs feature matrices Thomas Monjalon
2019-12-03 6:27 ` [dpdk-dev] [PATCH v3 " Sunil Kumar Kori
2019-12-03 6:27 ` [dpdk-dev] [PATCH v3 2/3] doc: update eventdev feature matrix for octeontx2 Sunil Kumar Kori
2019-12-03 6:27 ` [dpdk-dev] [PATCH v3 3/3] doc: update eventdev feature matrix for octeontx Sunil Kumar Kori
2020-02-27 7:02 ` [dpdk-dev] [PATCH v4 1/3] doc: add skeleton for eventdevs feature matrices Sunil Kumar Kori
2020-02-27 7:03 ` [dpdk-dev] [PATCH v4 2/3] doc: update eventdev feature matrix for octeontx2 Sunil Kumar Kori
2020-02-27 7:03 ` [dpdk-dev] [PATCH v4 3/3] doc: update eventdev feature matrix for octeontx Sunil Kumar Kori
2021-10-22 7:48 ` [dpdk-dev] [PATCH v5 1/4] doc: add skeleton for eventdevs feature matrices skori
2021-10-22 7:48 ` [dpdk-dev] [PATCH v5 2/4] doc: update eventdev feature matrix for octeontx2 skori
2021-10-22 7:48 ` [dpdk-dev] [PATCH v5 3/4] doc: update eventdev feature matrix for octeontx skori
2021-10-22 7:48 ` [dpdk-dev] [PATCH v5 4/4] doc: update eventdev feature matrix for cnxk skori
2021-11-09 10:11 ` [dpdk-dev] [PATCH v5 1/4] doc: add skeleton for eventdevs feature matrices Jerin Jacob
2021-11-09 11:34 ` Thomas Monjalon
2021-11-11 6:40 ` [EXT] " Sunil Kumar Kori
2021-11-10 8:42 ` Mattias Rönnblom
2021-11-10 8:50 ` [dpdk-dev] [EXT] " Jerin Jacob Kollanukkaran
2021-11-10 9:29 ` [dpdk-dev] [PATCH] eventdev: negate maintenance capability flag Mattias Rönnblom
2021-11-10 9:55 ` Van Haaren, Harry
2021-11-10 10:06 ` [dpdk-dev] [PATCH v2] " Mattias Rönnblom
2021-11-10 10:07 ` [dpdk-dev] [PATCH] " Mattias Rönnblom
2021-11-10 10:43 ` Jerin Jacob
2021-11-10 11:32 ` Mattias Rönnblom [this message]
2021-11-10 18:55 ` [PATCH v3] " Jerin Jacob
2021-11-10 11:14 ` [dpdk-dev] [PATCH v2] eventdev: fix Rx adapter stalls on event device backpressure Mattias Rönnblom
2021-11-10 11:23 ` Jayatheerthan, Jay
2021-11-10 18:56 ` Jerin Jacob
2021-11-15 13:15 ` [PATCH v6 01/11] doc: add skeleton for eventdevs feature matrices skori
2021-11-15 13:15 ` [PATCH v6 02/11] doc: update eventdev feature matrix for octeontx skori
2021-11-15 13:15 ` [PATCH v6 03/11] doc: update eventdev feature matrix for octeontx2 skori
2021-11-15 13:15 ` [PATCH v6 04/11] doc: update eventdev feature matrix for cn9k skori
2021-11-15 13:15 ` [PATCH v6 05/11] doc: update eventdev feature matrix for cn10k skori
2021-11-15 13:15 ` [PATCH v6 06/11] doc: update eventdev feature matrix for dpaa skori
2021-11-15 13:15 ` [PATCH v6 07/11] doc: update eventdev feature matrix for dpaa2 skori
2021-11-15 13:15 ` [PATCH v6 08/11] doc: update eventdev feature matrix for SW skori
2021-11-15 13:15 ` [PATCH v6 09/11] doc: update eventdev feature matrix for opdl skori
2021-11-15 13:15 ` [PATCH v6 10/11] doc: update eventdev feature matrix for dsw skori
2021-11-15 13:15 ` [PATCH v6 11/11] devtools: check event device doc tables skori
2021-11-22 7:54 ` [PATCH v7 01/11] doc: add skeleton for eventdevs feature matrices skori
2021-11-22 7:54 ` [PATCH v7 02/11] doc: update eventdev feature matrix for octeontx skori
2021-11-22 7:54 ` [PATCH v7 03/11] doc: update eventdev feature matrix for octeontx2 skori
2021-11-22 7:54 ` [PATCH v7 04/11] doc: update eventdev feature matrix for cn9k skori
2021-11-22 7:54 ` [PATCH v7 05/11] doc: update eventdev feature matrix for cn10k skori
2021-11-22 18:25 ` Jerin Jacob
2021-11-22 7:54 ` [PATCH v7 06/11] doc: update eventdev feature matrix for dpaa skori
2021-11-22 7:54 ` [PATCH v7 07/11] doc: update eventdev feature matrix for dpaa2 skori
2021-11-22 7:54 ` [PATCH v7 08/11] doc: update eventdev feature matrix for SW skori
2021-11-22 7:54 ` [PATCH v7 09/11] doc: update eventdev feature matrix for opdl skori
2021-11-22 7:54 ` [PATCH v7 10/11] doc: update eventdev feature matrix for dsw skori
2021-11-22 7:54 ` [PATCH v7 11/11] devtools: check event device doc tables skori
2021-11-22 18:35 ` Jerin Jacob
2021-11-23 11:07 ` [PATCH v8 01/10] doc: add skeleton for eventdevs feature matrices skori
2021-11-23 11:07 ` [PATCH v8 02/10] doc: update eventdev feature matrix for octeontx skori
2021-11-23 11:07 ` [PATCH v8 03/10] doc: update eventdev feature matrix for octeontx2 skori
2021-11-23 11:07 ` [PATCH v8 04/10] doc: update eventdev feature matrix for cnxk skori
2021-11-23 11:07 ` [PATCH v8 05/10] doc: update eventdev feature matrix for dpaa skori
2021-11-23 11:07 ` [PATCH v8 06/10] doc: update eventdev feature matrix for dpaa2 skori
2021-11-23 11:07 ` [PATCH v8 07/10] doc: update eventdev feature matrix for SW skori
2021-11-23 11:07 ` [PATCH v8 08/10] doc: update eventdev feature matrix for opdl skori
2021-11-23 11:07 ` [PATCH v8 09/10] doc: update eventdev feature matrix for dsw skori
2021-11-23 11:07 ` [PATCH v8 10/10] devtools: check event device doc tables skori
2021-11-24 10:52 ` Thomas Monjalon
2021-11-24 11:16 ` [EXT] " Sunil Kumar Kori
2021-11-24 11:21 ` Thomas Monjalon
2021-11-24 10:03 ` [PATCH v8 01/10] doc: add skeleton for eventdevs feature matrices Thomas Monjalon
2021-11-24 10:30 ` [EXT] " Sunil Kumar Kori
2021-11-24 10:43 ` Thomas Monjalon
2021-11-24 12:35 ` Sunil Kumar Kori
2021-11-24 12:41 ` Thomas Monjalon
2021-11-24 12:46 ` Sunil Kumar Kori
2021-11-24 13:05 ` Sunil Kumar Kori
2021-11-24 10:48 ` Thomas Monjalon
2021-11-24 11:12 ` [EXT] " Sunil Kumar Kori
2021-11-24 12:14 ` [PATCH v1 1/1] doc: update eventdev feature matrix for dlb2 skori
2021-11-24 13:03 ` [PATCH v9 1/1] doc: add eventdevs feature matrices skori
2021-11-26 14:55 ` Thomas Monjalon
2021-11-15 18:08 ` [dpdk-dev] [PATCH v5 1/4] doc: add skeleton for " Jerin Jacob
2021-11-23 16:44 ` Jerin Jacob
2021-11-24 8:06 ` Thomas Monjalon
2021-11-24 8:14 ` Jerin Jacob
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=20211110113210.21770-1-mattias.ronnblom@ericsson.com \
--to=mattias.ronnblom@ericsson.com \
--cc=abhinandan.gujjar@intel.com \
--cc=david.marchand@redhat.com \
--cc=dev@dpdk.org \
--cc=erik.g.carrillo@intel.com \
--cc=ferruh.yigit@intel.com \
--cc=gakhil@marvell.com \
--cc=harry.van.haaren@intel.com \
--cc=hemant.agrawal@nxp.com \
--cc=jay.jayatheerthan@intel.com \
--cc=jerinj@marvell.com \
--cc=jerinjacobk@gmail.com \
--cc=nipun.gupta@nxp.com \
--cc=pbhagavatula@marvell.com \
--cc=skori@marvell.com \
--cc=thomas@monjalon.net \
/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).