Message ID | 20210917164136.3499904-1-kevin.laatz@intel.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 870ADA0C43; Fri, 17 Sep 2021 18:41:51 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 047E7410E9; Fri, 17 Sep 2021 18:41:51 +0200 (CEST) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by mails.dpdk.org (Postfix) with ESMTP id A194B40689 for <dev@dpdk.org>; Fri, 17 Sep 2021 18:41:49 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10110"; a="222491252" X-IronPort-AV: E=Sophos;i="5.85,301,1624345200"; d="scan'208";a="222491252" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Sep 2021 09:41:48 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,301,1624345200"; d="scan'208";a="546488140" Received: from silpixa00401122.ir.intel.com ([10.55.128.10]) by FMSMGA003.fm.intel.com with ESMTP; 17 Sep 2021 09:41:47 -0700 From: Kevin Laatz <kevin.laatz@intel.com> To: dev@dpdk.org Cc: bruce.richardson@intel.com, fengchengwen@huawei.com, conor.walsh@intel.com, Kevin Laatz <kevin.laatz@intel.com> Date: Fri, 17 Sep 2021 16:41:30 +0000 Message-Id: <20210917164136.3499904-1-kevin.laatz@intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210910172737.2561156-1-kevin.laatz@intel.com> References: <20210910172737.2561156-1-kevin.laatz@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH v2 0/6] port ioatfwd app to dmadev X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Series |
port ioatfwd app to dmadev
|
|
Message
Kevin Laatz
Sept. 17, 2021, 4:41 p.m. UTC
This patchset first adds some additional command line options to the existing ioatfwd application to enhance usability. The last 3 patches of this set then port the ioatfwd application to use the dmadev library APIs instead of the IOAT rawdev APIs. Following the port, all variables etc are renamed to be more appropriate for using with the DMAdev library. Lastly, the application itself is renamed to "dmafwd". Depends-on: series-18960 ("support dmadev") Kevin Laatz (3): examples/ioat: port application to dmadev APIs examples/ioat: update naming to match change to dmadev examples/ioat: rename application to dmafwd Konstantin Ananyev (3): examples/ioat: always use same lcore for both DMA requests enqueue and dequeue examples/ioat: add cmd-line option to control DMA batch size examples/ioat: add cmd line option to control max frame size MAINTAINERS | 7 +- .../sample_app_ug/{ioat.rst => dma.rst} | 114 ++-- doc/guides/sample_app_ug/index.rst | 2 +- doc/guides/sample_app_ug/intro.rst | 4 +- examples/{ioat => dma}/Makefile | 4 +- examples/{ioat/ioatfwd.c => dma/dmafwd.c} | 586 +++++++++--------- examples/{ioat => dma}/meson.build | 10 +- examples/meson.build | 2 +- 8 files changed, 380 insertions(+), 349 deletions(-) rename doc/guides/sample_app_ug/{ioat.rst => dma.rst} (73%) rename examples/{ioat => dma}/Makefile (97%) rename examples/{ioat/ioatfwd.c => dma/dmafwd.c} (63%) rename examples/{ioat => dma}/meson.build (63%)
Comments
Hi Kevin, Can you add the following functions? 1. Add dump dmadev which trigger by signal, like: ... static void dma_dump(void) { uint32_t i, j; if (copy_mode != COPY_MODE_DMA_NUM) return; for (i = 0; i < cfg.nb_ports; i++) { for (j = 0; j < cfg.ports[i].nb_queues; j++) rte_dma_dump(cfg.ports[i].dmadev_ids[j], stdout); } } ... static void signal_handler(int signum) { if (signum == SIGINT || signum == SIGTERM) { printf("\n\nSignal %d received, preparing to exit...\n", signum); force_quit = true; } else if (signum == SIGUSR1) { dma_dump(); } } ... signal(SIGUSR1, signal_handler); 2. Controls the output frequency of print_stats. currently fix 1s, hope could control by parameters. Thanks. On 2021/9/18 0:41, Kevin Laatz wrote: > This patchset first adds some additional command line options to the > existing ioatfwd application to enhance usability. > > The last 3 patches of this set then port the ioatfwd application to use the > dmadev library APIs instead of the IOAT rawdev APIs. Following the port, > all variables etc are renamed to be more appropriate for using with the > DMAdev library. Lastly, the application itself is renamed to "dmafwd". > > Depends-on: series-18960 ("support dmadev") > > Kevin Laatz (3): > examples/ioat: port application to dmadev APIs > examples/ioat: update naming to match change to dmadev > examples/ioat: rename application to dmafwd > > Konstantin Ananyev (3): > examples/ioat: always use same lcore for both DMA requests enqueue and > dequeue > examples/ioat: add cmd-line option to control DMA batch size > examples/ioat: add cmd line option to control max frame size > > MAINTAINERS | 7 +- > .../sample_app_ug/{ioat.rst => dma.rst} | 114 ++-- > doc/guides/sample_app_ug/index.rst | 2 +- > doc/guides/sample_app_ug/intro.rst | 4 +- > examples/{ioat => dma}/Makefile | 4 +- > examples/{ioat/ioatfwd.c => dma/dmafwd.c} | 586 +++++++++--------- > examples/{ioat => dma}/meson.build | 10 +- > examples/meson.build | 2 +- > 8 files changed, 380 insertions(+), 349 deletions(-) > rename doc/guides/sample_app_ug/{ioat.rst => dma.rst} (73%) > rename examples/{ioat => dma}/Makefile (97%) > rename examples/{ioat/ioatfwd.c => dma/dmafwd.c} (63%) > rename examples/{ioat => dma}/meson.build (63%) >
Hi Chengwen, On 23/09/2021 14:53, fengchengwen wrote: > Hi Kevin, > > Can you add the following functions? > 1. Add dump dmadev which trigger by signal, like: > ... > static void > dma_dump(void) > { > uint32_t i, j; > > if (copy_mode != COPY_MODE_DMA_NUM) > return; > > for (i = 0; i < cfg.nb_ports; i++) { > for (j = 0; j < cfg.ports[i].nb_queues; j++) > rte_dma_dump(cfg.ports[i].dmadev_ids[j], stdout); > } > } > ... > static void > signal_handler(int signum) > { > if (signum == SIGINT || signum == SIGTERM) { > printf("\n\nSignal %d received, preparing to exit...\n", > signum); > force_quit = true; > } else if (signum == SIGUSR1) { > dma_dump(); > } > } > ... > signal(SIGUSR1, signal_handler); Yes, can add this in the v3. > > 2. Controls the output frequency of print_stats. currently fix 1s, hope could control by parameters. Are you asking for a function to control this? It would probably be better as a cmdline option IMO. I can add this in v3 also. Thanks for the feedback! > > Thanks. > > > On 2021/9/18 0:41, Kevin Laatz wrote: >> This patchset first adds some additional command line options to the >> existing ioatfwd application to enhance usability. >> >> The last 3 patches of this set then port the ioatfwd application to use the >> dmadev library APIs instead of the IOAT rawdev APIs. Following the port, >> all variables etc are renamed to be more appropriate for using with the >> DMAdev library. Lastly, the application itself is renamed to "dmafwd". >> >> Depends-on: series-18960 ("support dmadev") >> >> Kevin Laatz (3): >> examples/ioat: port application to dmadev APIs >> examples/ioat: update naming to match change to dmadev >> examples/ioat: rename application to dmafwd >> >> Konstantin Ananyev (3): >> examples/ioat: always use same lcore for both DMA requests enqueue and >> dequeue >> examples/ioat: add cmd-line option to control DMA batch size >> examples/ioat: add cmd line option to control max frame size >> >> MAINTAINERS | 7 +- >> .../sample_app_ug/{ioat.rst => dma.rst} | 114 ++-- >> doc/guides/sample_app_ug/index.rst | 2 +- >> doc/guides/sample_app_ug/intro.rst | 4 +- >> examples/{ioat => dma}/Makefile | 4 +- >> examples/{ioat/ioatfwd.c => dma/dmafwd.c} | 586 +++++++++--------- >> examples/{ioat => dma}/meson.build | 10 +- >> examples/meson.build | 2 +- >> 8 files changed, 380 insertions(+), 349 deletions(-) >> rename doc/guides/sample_app_ug/{ioat.rst => dma.rst} (73%) >> rename examples/{ioat => dma}/Makefile (97%) >> rename examples/{ioat/ioatfwd.c => dma/dmafwd.c} (63%) >> rename examples/{ioat => dma}/meson.build (63%) >>