From: Lukasz Krakowiak <lukaszx.krakowiak@intel.com> To: cristian.dumitrescu@intel.com Cc: dev@dpdk.org, Jasvinder Singh <jasvinder.singh@intel.com>, Abraham Tovar <abrahamx.tovar@intel.com>, Lukasz Krakowiak <lukaszx.krakowiak@intel.com> Subject: [dpdk-dev] [PATCH 21/27] sched: update packet dequeue api Date: Tue, 28 May 2019 14:05:47 +0200 Message-ID: <20190528120553.2992-22-lukaszx.krakowiak@intel.com> (raw) In-Reply-To: <20190528120553.2992-1-lukaszx.krakowiak@intel.com> From: Jasvinder Singh <jasvinder.singh@intel.com> Update packet dequeue api implementation of scheduler to allow configuration flexiblity for pipe traffic classes and queues, and subport level configuration of the pipe parameters. Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com> Signed-off-by: Abraham Tovar <abrahamx.tovar@intel.com> Signed-off-by: Lukasz Krakowiak <lukaszx.krakowiak@intel.com> --- lib/librte_sched/rte_sched.c | 45 ++++++++++++++++++++++++++++-------- 1 file changed, 35 insertions(+), 10 deletions(-) diff --git a/lib/librte_sched/rte_sched.c b/lib/librte_sched/rte_sched.c index 0c5479426..116e6a627 100644 --- a/lib/librte_sched/rte_sched.c +++ b/lib/librte_sched/rte_sched.c @@ -2677,6 +2677,7 @@ rte_sched_port_time_resync(struct rte_sched_port *port) uint64_t cycles = rte_get_tsc_cycles(); uint64_t cycles_diff = cycles - port->time_cpu_cycles; uint64_t bytes_diff; + uint32_t i; /* Compute elapsed time in bytes */ bytes_diff = rte_reciprocal_divide(cycles_diff << RTE_SCHED_TIME_SHIFT, @@ -2689,20 +2690,21 @@ rte_sched_port_time_resync(struct rte_sched_port *port) port->time = port->time_cpu_bytes; /* Reset pipe loop detection */ - port->pipe_loop = RTE_SCHED_PIPE_INVALID; + for (i = 0; i < port->n_subports_per_port; i++) + port->subports[i]->pipe_loop = RTE_SCHED_PIPE_INVALID; } static inline int -rte_sched_port_exceptions(struct rte_sched_port *port, int second_pass) +rte_sched_port_exceptions(struct rte_sched_subport *subport, int second_pass) { int exceptions; /* Check if any exception flag is set */ - exceptions = (second_pass && port->busy_grinders == 0) || - (port->pipe_exhaustion == 1); + exceptions = (second_pass && subport->busy_grinders == 0) || + (subport->pipe_exhaustion == 1); /* Clear exception flags */ - port->pipe_exhaustion = 0; + subport->pipe_exhaustion = 0; return exceptions; } @@ -2710,7 +2712,9 @@ rte_sched_port_exceptions(struct rte_sched_port *port, int second_pass) int rte_sched_port_dequeue(struct rte_sched_port *port, struct rte_mbuf **pkts, uint32_t n_pkts) { - uint32_t i, count; + struct rte_sched_subport *subport; + uint32_t subport_id = port->subport_id; + uint32_t i, n_subports = 0, count; port->pkts_out = pkts; port->n_pkts_out = 0; @@ -2719,10 +2723,31 @@ rte_sched_port_dequeue(struct rte_sched_port *port, struct rte_mbuf **pkts, uint /* Take each queue in the grinder one step further */ for (i = 0, count = 0; ; i++) { - count += grinder_handle(port, port->subport, - i & (RTE_SCHED_PORT_N_GRINDERS - 1)); - if ((count == n_pkts) || - rte_sched_port_exceptions(port, i >= RTE_SCHED_PORT_N_GRINDERS)) { + subport = port->subports[subport_id]; + + count += grinder_handle(port, subport, i & + (RTE_SCHED_PORT_N_GRINDERS - 1)); + if (count == n_pkts) { + subport_id++; + + if (subport_id == port->n_subports_per_port) + subport_id = 0; + + port->subport_id = subport_id; + break; + } + + if (rte_sched_port_exceptions(subport, i >= RTE_SCHED_PORT_N_GRINDERS)) { + i = 0; + subport_id++; + n_subports++; + } + + if (subport_id == port->n_subports_per_port) + subport_id = 0; + + if (n_subports == port->n_subports_per_port) { + port->subport_id = subport_id; break; } } -- 2.20.1
next prev parent reply index Thread overview: 163+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-05-28 12:05 [dpdk-dev] [PATCH 00/27] sched: feature enhancements Lukasz Krakowiak 2019-05-28 12:05 ` [dpdk-dev] [PATCH 01/27] sched: update macros for flexible config Lukasz Krakowiak 2019-06-25 15:31 ` [dpdk-dev] [PATCH v2 00/28] sched: feature enhancements Jasvinder Singh 2019-06-25 15:31 ` [dpdk-dev] [PATCH v2 01/28] sched: update macros for flexible config Jasvinder Singh 2019-07-01 19:04 ` Dumitrescu, Cristian 2019-07-02 13:26 ` Singh, Jasvinder 2019-07-11 10:26 ` [dpdk-dev] [PATCH v3 00/11] sched: feature enhancements Jasvinder Singh 2019-07-11 10:26 ` [dpdk-dev] [PATCH v3 01/11] sched: remove wrr from strict priority tc queues Jasvinder Singh 2019-07-12 9:57 ` [dpdk-dev] [PATCH v4 00/11] sched: feature enhancements Jasvinder Singh 2019-07-12 9:57 ` [dpdk-dev] [PATCH v4 01/11] sched: remove wrr from strict priority tc queues Jasvinder Singh 2019-07-15 23:50 ` Dumitrescu, Cristian 2019-07-17 14:49 ` Singh, Jasvinder 2019-07-17 14:42 ` [dpdk-dev] [PATCH v5 00/11] sched: feature enhancements Jasvinder Singh 2019-07-17 14:42 ` [dpdk-dev] [PATCH v5 01/11] sched: remove wrr from strict priority tc queues Jasvinder Singh 2019-07-19 14:18 ` [dpdk-dev] [PATCH v6 00/11] sched: feature enhancements Jasvinder Singh 2019-07-19 14:18 ` [dpdk-dev] [PATCH v6 01/11] sched: remove wrr from strict priority tc queues Jasvinder Singh 2019-07-22 11:01 ` [dpdk-dev] [PATCH v7 00/11] sched: feature enhancements Jasvinder Singh 2019-07-22 11:01 ` [dpdk-dev] [PATCH v7 01/11] sched: remove wrr from strict priority tc queues Jasvinder Singh 2019-07-22 11:01 ` [dpdk-dev] [PATCH v7 02/11] sched: add config flexibility to tc queue sizes Jasvinder Singh 2019-07-22 11:01 ` [dpdk-dev] [PATCH v7 03/11] sched: add max pipe profiles config in run time Jasvinder Singh 2019-07-22 11:01 ` [dpdk-dev] [PATCH v7 04/11] sched: rename tc3 params to best-effort tc Jasvinder Singh 2019-07-22 11:01 ` [dpdk-dev] [PATCH v7 05/11] sched: improve error log messages Jasvinder Singh 2019-07-22 11:01 ` [dpdk-dev] [PATCH v7 06/11] sched: improve doxygen comments Jasvinder Singh 2019-07-22 11:01 ` [dpdk-dev] [PATCH v7 07/11] net/softnic: add config flexibility to softnic tm Jasvinder Singh 2019-07-22 11:01 ` [dpdk-dev] [PATCH v7 08/11] test_sched: modify tests for config flexibility Jasvinder Singh 2019-07-22 11:01 ` [dpdk-dev] [PATCH v7 09/11] examples/ip_pipeline: add config flexibility to tm function Jasvinder Singh 2019-07-22 11:01 ` [dpdk-dev] [PATCH v7 10/11] examples/qos_sched: add tc and queue config flexibility Jasvinder Singh 2019-07-22 11:01 ` [dpdk-dev] [PATCH v7 11/11] sched: remove redundant macros Jasvinder Singh 2019-07-22 13:15 ` [dpdk-dev] [PATCH v7 00/11] sched: feature enhancements Thomas Monjalon 2019-07-22 13:22 ` Singh, Jasvinder 2019-07-22 13:33 ` Thomas Monjalon 2019-07-22 13:53 ` Ferruh Yigit 2019-07-22 13:56 ` Bruce Richardson 2019-07-22 14:08 ` Ferruh Yigit 2019-07-22 14:08 ` Thomas Monjalon 2019-07-19 14:18 ` [dpdk-dev] [PATCH v6 02/11] sched: add config flexibility to tc queue sizes Jasvinder Singh 2019-07-19 14:18 ` [dpdk-dev] [PATCH v6 03/11] sched: add max pipe profiles config in run time Jasvinder Singh 2019-07-19 14:18 ` [dpdk-dev] [PATCH v6 04/11] sched: rename tc3 params to best-effort tc Jasvinder Singh 2019-07-19 14:18 ` [dpdk-dev] [PATCH v6 05/11] sched: improve error log messages Jasvinder Singh 2019-07-19 14:18 ` [dpdk-dev] [PATCH v6 06/11] sched: improve doxygen comments Jasvinder Singh 2019-07-19 14:18 ` [dpdk-dev] [PATCH v6 07/11] net/softnic: add config flexibility to softnic tm Jasvinder Singh 2019-07-19 14:18 ` [dpdk-dev] [PATCH v6 08/11] test_sched: modify tests for config flexibility Jasvinder Singh 2019-07-19 14:18 ` [dpdk-dev] [PATCH v6 09/11] examples/ip_pipeline: add config flexibility to tm function Jasvinder Singh 2019-07-19 14:18 ` [dpdk-dev] [PATCH v6 10/11] examples/qos_sched: add tc and queue config flexibility Jasvinder Singh 2019-07-19 14:18 ` [dpdk-dev] [PATCH v6 11/11] sched: remove redundant macros Jasvinder Singh 2019-07-22 8:19 ` [dpdk-dev] [PATCH v6 00/11] sched: feature enhancements Thomas Monjalon 2019-07-22 11:05 ` Singh, Jasvinder 2019-07-22 9:56 ` Dumitrescu, Cristian 2019-07-17 14:42 ` [dpdk-dev] [PATCH v5 02/11] sched: add config flexibility to tc queue sizes Jasvinder Singh 2019-07-18 23:04 ` Dumitrescu, Cristian 2019-07-19 15:25 ` Singh, Jasvinder 2019-07-17 14:42 ` [dpdk-dev] [PATCH v5 03/11] sched: add max pipe profiles config in run time Jasvinder Singh 2019-07-17 14:42 ` [dpdk-dev] [PATCH v5 04/11] sched: rename tc3 params to best-effort tc Jasvinder Singh 2019-07-17 14:42 ` [dpdk-dev] [PATCH v5 05/11] sched: improve error log messages Jasvinder Singh 2019-07-17 14:42 ` [dpdk-dev] [PATCH v5 06/11] sched: improve doxygen comments Jasvinder Singh 2019-07-18 23:12 ` Dumitrescu, Cristian 2019-07-19 15:25 ` Singh, Jasvinder 2019-07-17 14:42 ` [dpdk-dev] [PATCH v5 07/11] net/softnic: add config flexibility to softnic tm Jasvinder Singh 2019-07-17 14:42 ` [dpdk-dev] [PATCH v5 08/11] test_sched: modify tests for config flexibility Jasvinder Singh 2019-07-17 14:42 ` [dpdk-dev] [PATCH v5 09/11] examples/ip_pipeline: add config flexibility to tm function Jasvinder Singh 2019-07-17 14:42 ` [dpdk-dev] [PATCH v5 10/11] examples/qos_sched: add tc and queue config flexibility Jasvinder Singh 2019-07-17 14:42 ` [dpdk-dev] [PATCH v5 11/11] sched: remove redundant macros Jasvinder Singh 2019-07-18 22:57 ` [dpdk-dev] [PATCH v5 00/11] sched: feature enhancements Dumitrescu, Cristian 2019-07-19 10:41 ` Thomas Monjalon 2019-07-19 11:16 ` Singh, Jasvinder 2019-07-19 11:40 ` Thomas Monjalon 2019-07-19 11:42 ` Singh, Jasvinder 2019-07-12 9:57 ` [dpdk-dev] [PATCH v4 02/11] sched: add config flexibility to tc queue sizes Jasvinder Singh 2019-07-16 0:37 ` Dumitrescu, Cristian 2019-07-17 14:57 ` Singh, Jasvinder 2019-07-16 0:57 ` Dumitrescu, Cristian 2019-07-17 15:03 ` Singh, Jasvinder 2019-07-12 9:57 ` [dpdk-dev] [PATCH v4 03/11] sched: add max pipe profiles config in run time Jasvinder Singh 2019-07-12 9:57 ` [dpdk-dev] [PATCH v4 04/11] sched: rename tc3 params to best-effort tc Jasvinder Singh 2019-07-12 9:57 ` [dpdk-dev] [PATCH v4 05/11] sched: improve error log messages Jasvinder Singh 2019-07-12 9:57 ` [dpdk-dev] [PATCH v4 06/11] sched: improve doxygen comments Jasvinder Singh 2019-07-16 0:44 ` Dumitrescu, Cristian 2019-07-17 14:58 ` Singh, Jasvinder 2019-07-16 0:49 ` Dumitrescu, Cristian 2019-07-17 15:00 ` Singh, Jasvinder 2019-07-12 9:57 ` [dpdk-dev] [PATCH v4 07/11] net/softnic: add config flexibility to softnic tm Jasvinder Singh 2019-07-12 9:57 ` [dpdk-dev] [PATCH v4 08/11] test_sched: modify tests for config flexibility Jasvinder Singh 2019-07-12 9:57 ` [dpdk-dev] [PATCH v4 09/11] examples/ip_pipeline: add config flexibility to tm function Jasvinder Singh 2019-07-12 9:57 ` [dpdk-dev] [PATCH v4 10/11] examples/qos_sched: add tc and queue config flexibility Jasvinder Singh 2019-07-12 9:57 ` [dpdk-dev] [PATCH v4 11/11] sched: remove redundant macros Jasvinder Singh 2019-07-11 10:26 ` [dpdk-dev] [PATCH v3 02/11] sched: add config flexibility to tc queue sizes Jasvinder Singh 2019-07-11 10:26 ` [dpdk-dev] [PATCH v3 03/11] sched: add max pipe profiles config in run time Jasvinder Singh 2019-07-11 10:26 ` [dpdk-dev] [PATCH v3 04/11] sched: rename tc3 params to best-effort tc Jasvinder Singh 2019-07-11 10:26 ` [dpdk-dev] [PATCH v3 05/11] sched: improve error log messages Jasvinder Singh 2019-07-11 10:26 ` [dpdk-dev] [PATCH v3 06/11] sched: improve doxygen comments Jasvinder Singh 2019-07-11 10:26 ` [dpdk-dev] [PATCH v3 07/11] net/softnic: add config flexibility to softnic tm Jasvinder Singh 2019-07-11 10:26 ` [dpdk-dev] [PATCH v3 08/11] test_sched: modify tests for config flexibility Jasvinder Singh 2019-07-11 10:26 ` [dpdk-dev] [PATCH v3 09/11] examples/ip_pipeline: add config flexibility to tm function Jasvinder Singh 2019-07-11 10:26 ` [dpdk-dev] [PATCH v3 10/11] examples/qos_sched: add tc and queue config flexibility Jasvinder Singh 2019-07-11 10:26 ` [dpdk-dev] [PATCH v3 11/11] sched: remove redundant macros Jasvinder Singh 2019-06-25 15:31 ` [dpdk-dev] [PATCH v2 02/28] sched: update subport and pipe data structures Jasvinder Singh 2019-07-01 18:58 ` Dumitrescu, Cristian 2019-07-02 13:20 ` Singh, Jasvinder 2019-07-01 19:12 ` Dumitrescu, Cristian 2019-06-25 15:31 ` [dpdk-dev] [PATCH v2 03/28] sched: update internal " Jasvinder Singh 2019-06-25 15:31 ` [dpdk-dev] [PATCH v2 04/28] sched: update port config API Jasvinder Singh 2019-06-25 15:31 ` [dpdk-dev] [PATCH v2 05/28] sched: update port free API Jasvinder Singh 2019-06-25 15:31 ` [dpdk-dev] [PATCH v2 06/28] sched: update subport config API Jasvinder Singh 2019-06-25 15:31 ` [dpdk-dev] [PATCH v2 07/28] sched: update pipe profile add API Jasvinder Singh 2019-06-25 15:31 ` [dpdk-dev] [PATCH v2 08/28] sched: update pipe config API Jasvinder Singh 2019-06-25 15:31 ` [dpdk-dev] [PATCH v2 09/28] sched: update pkt read and write API Jasvinder Singh 2019-07-01 23:25 ` Dumitrescu, Cristian 2019-07-02 21:05 ` Singh, Jasvinder 2019-07-03 13:40 ` Dumitrescu, Cristian 2019-06-25 15:31 ` [dpdk-dev] [PATCH v2 10/28] sched: update subport and tc queue stats Jasvinder Singh 2019-06-25 15:32 ` [dpdk-dev] [PATCH v2 11/28] sched: update port memory footprint API Jasvinder Singh 2019-06-25 15:32 ` [dpdk-dev] [PATCH v2 12/28] sched: update packet enqueue API Jasvinder Singh 2019-06-25 15:32 ` [dpdk-dev] [PATCH v2 13/28] sched: update grinder pipe and tc cache Jasvinder Singh 2019-06-25 15:32 ` [dpdk-dev] [PATCH v2 14/28] sched: update grinder next pipe and tc functions Jasvinder Singh 2019-06-25 15:32 ` [dpdk-dev] [PATCH v2 15/28] sched: update pipe and tc queues prefetch Jasvinder Singh 2019-06-25 15:32 ` [dpdk-dev] [PATCH v2 16/28] sched: update grinder wrr compute function Jasvinder Singh 2019-06-25 15:32 ` [dpdk-dev] [PATCH v2 17/28] sched: modify credits update function Jasvinder Singh 2019-06-25 15:32 ` [dpdk-dev] [PATCH v2 18/28] sched: update mbuf prefetch function Jasvinder Singh 2019-06-25 15:32 ` [dpdk-dev] [PATCH v2 19/28] sched: update grinder schedule function Jasvinder Singh 2019-06-25 15:32 ` [dpdk-dev] [PATCH v2 20/28] sched: update grinder handle function Jasvinder Singh 2019-06-25 15:32 ` [dpdk-dev] [PATCH v2 21/28] sched: update packet dequeue API Jasvinder Singh 2019-06-25 15:32 ` [dpdk-dev] [PATCH v2 22/28] sched: update sched queue stats API Jasvinder Singh 2019-06-25 15:32 ` [dpdk-dev] [PATCH v2 23/28] test/sched: update unit test Jasvinder Singh 2019-06-25 15:32 ` [dpdk-dev] [PATCH v2 24/28] net/softnic: update softnic tm function Jasvinder Singh 2019-06-25 15:32 ` [dpdk-dev] [PATCH v2 25/28] examples/qos_sched: update qos sched sample app Jasvinder Singh 2019-06-25 15:32 ` [dpdk-dev] [PATCH v2 26/28] examples/ip_pipeline: update ip pipeline " Jasvinder Singh 2019-06-25 15:32 ` [dpdk-dev] [PATCH v2 27/28] sched: code cleanup Jasvinder Singh 2019-06-25 15:32 ` [dpdk-dev] [PATCH v2 28/28] sched: add release note Jasvinder Singh 2019-06-26 21:31 ` Thomas Monjalon 2019-06-27 10:50 ` Singh, Jasvinder 2019-06-26 21:33 ` [dpdk-dev] [PATCH v2 00/28] sched: feature enhancements Thomas Monjalon 2019-06-27 10:52 ` Singh, Jasvinder 2019-06-27 0:04 ` Stephen Hemminger 2019-06-27 10:49 ` Singh, Jasvinder 2019-07-01 18:51 ` Dumitrescu, Cristian 2019-07-02 9:32 ` Singh, Jasvinder 2019-05-28 12:05 ` [dpdk-dev] [PATCH 02/27] sched: update subport and pipe data structures Lukasz Krakowiak 2019-05-28 12:05 ` [dpdk-dev] [PATCH 03/27] sched: update internal " Lukasz Krakowiak 2019-05-28 12:05 ` [dpdk-dev] [PATCH 04/27] sched: update port config api Lukasz Krakowiak 2019-05-28 12:05 ` [dpdk-dev] [PATCH 05/27] sched: update port free api Lukasz Krakowiak 2019-05-28 12:05 ` [dpdk-dev] [PATCH 06/27] sched: update subport config api Lukasz Krakowiak 2019-05-28 12:05 ` [dpdk-dev] [PATCH 07/27] sched: update pipe profile add api Lukasz Krakowiak 2019-05-28 14:06 ` Stephen Hemminger 2019-05-28 12:05 ` [dpdk-dev] [PATCH 08/27] sched: update pipe config api Lukasz Krakowiak 2019-05-28 12:05 ` [dpdk-dev] [PATCH 09/27] sched: update pkt read and write api Lukasz Krakowiak 2019-05-28 12:05 ` [dpdk-dev] [PATCH 10/27] sched: update subport and tc queue stats Lukasz Krakowiak 2019-05-28 12:05 ` [dpdk-dev] [PATCH 11/27] sched: update port memory footprint api Lukasz Krakowiak 2019-05-28 12:05 ` [dpdk-dev] [PATCH 12/27] sched: update packet enqueue api Lukasz Krakowiak 2019-05-28 12:05 ` [dpdk-dev] [PATCH 13/27] sched: update grinder pipe and tc cache Lukasz Krakowiak 2019-05-28 12:05 ` [dpdk-dev] [PATCH 14/27] sched: update grinder next pipe and tc functions Lukasz Krakowiak 2019-05-28 12:05 ` [dpdk-dev] [PATCH 15/27] sched: update pipe and tc queues prefetch Lukasz Krakowiak 2019-05-28 12:05 ` [dpdk-dev] [PATCH 16/27] sched: update grinder wrr compute function Lukasz Krakowiak 2019-05-28 12:05 ` [dpdk-dev] [PATCH 17/27] sched: modify credits update function Lukasz Krakowiak 2019-05-28 12:05 ` [dpdk-dev] [PATCH 18/27] sched: update mbuf prefetch function Lukasz Krakowiak 2019-05-28 12:05 ` [dpdk-dev] [PATCH 19/27] sched: update grinder schedule function Lukasz Krakowiak 2019-05-28 12:05 ` [dpdk-dev] [PATCH 20/27] sched: update grinder handle function Lukasz Krakowiak 2019-05-28 12:05 ` Lukasz Krakowiak [this message] 2019-05-28 12:05 ` [dpdk-dev] [PATCH 22/27] sched: update sched queue stats api Lukasz Krakowiak 2019-05-28 12:05 ` [dpdk-dev] [PATCH 23/27] test/sched: update unit test Lukasz Krakowiak 2019-05-28 12:05 ` [dpdk-dev] [PATCH 24/27] net/softnic: update softnic tm function Lukasz Krakowiak 2019-05-28 12:05 ` [dpdk-dev] [PATCH 25/27] examples/qos_sched: update qos sched sample app Lukasz Krakowiak 2019-05-28 12:05 ` [dpdk-dev] [PATCH 26/27] examples/ip_pipeline: update ip pipeline " Lukasz Krakowiak 2019-05-28 12:05 ` [dpdk-dev] [PATCH 27/27] sched: code cleanup Lukasz Krakowiak
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=20190528120553.2992-22-lukaszx.krakowiak@intel.com \ --to=lukaszx.krakowiak@intel.com \ --cc=abrahamx.tovar@intel.com \ --cc=cristian.dumitrescu@intel.com \ --cc=dev@dpdk.org \ --cc=jasvinder.singh@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
DPDK-dev Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/dpdk-dev/0 dpdk-dev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 dpdk-dev dpdk-dev/ https://lore.kernel.org/dpdk-dev \ dev@dpdk.org public-inbox-index dpdk-dev Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.dpdk.dev AGPL code for this site: git clone https://public-inbox.org/public-inbox.git