patches for DPDK stable branches
 help / color / mirror / Atom feed
From: Jie Zhou <jizh@linux.microsoft.com>
To: dev@dpdk.org
Cc: dmitry.kozliuk@gmail.com, xiaoyun.li@intel.com,
	roretzla@microsoft.com, talshn@nvidia.com,
	pallavi.kadam@intel.com, andrew.rybchenko@oktetlabs.ru,
	thomas@monjalon.net, bruce.richardson@intel.com,
	ferruh.yigit@intel.com, konstantin.ananyev@intel.com,
	stable@dpdk.org
Subject: [dpdk-stable] [PATCH v15 0/9] app/testpmd: enable testpmd on Windows
Date: Tue, 29 Jun 2021 13:23:37 -0700	[thread overview]
Message-ID: <1624998226-12220-1-git-send-email-jizh@linux.microsoft.com> (raw)
In-Reply-To: <1624487698-31136-1-git-send-email-jizh@linux.microsoft.com>

This patchset is to enable testpmd on windows. It mainly includes:
- Enable building libraries on Windows that testpmd depends on
- Add necessary macros required by testpmd on Windows in rte_os_shim.h
- Add device event stubs for Windows
- Resolve name collisions with Windows types
- Add clock_gettime in testpmd on Windows
- Fix parse_fec_mode to return fec_capa instead of mode
- Replace POSIX specific codes
- Disable unsupported Apps build on Windows
- Enable testpmd build on Windows

Future work:
- Some issues discovered at validation need further investigations
  * Perf inconsistency: TPUT fluctuated significantly from runs
  * After traffic stop, port stats shows pps being 0 while bps not
  * mempool allocation only succeed with native. Other methods failed
    at rte_mem_lock/VirtualLock.
- Hot-plug on Windows not supported yet
- Support mempool allocation native mode only for now

Tested-by: Pallavi Kadam <pallavi.kadam@intel.com>
Acked-by: Pallavi Kadam <pallavi.kadam@intel.com>
Acked-by: Tal Shnaiderman <talshn@nvidia.com>

---
V15 changes:
    - Remove unnecessary Signed-off-by
    - Fix Patch #6 description to explain the root cause

---
V14 changes:
    - Use macros with arguments
    - Add missing spaces around '&'
    - Remove unnecessary constants
    - Remove unnecessary returned result check on QueryPerformanceXXX

---
V13 changes:
    - Resolve a patchset apply issue in patch2

---
V12 changes:
    - Fix indentation

---
V11 changes:
    - Add Acked-by from V9 and V10
    - Fix an error at ifndef'ing err flow for MP_ALLOC_NATIVE

---
V10 changes:
    - Remove unneeded newline in config.c
    - Add Fixes: and Cc: Stable for parse_fec_mode fix
    - More appropriate and granular commit messages
    - Use US_PER_S
    - Put signal inside ifndef

---
V9 changes:
    - Add clock_gettime for Windows into eal in rte_os_shim.h

---
V8 changes:
    - Fix pointer location for _clock_gettime in config.h

---
V7 changes:
    - Resolve V6 patch set applying conflicts due to recent upstream
      merges of linux testpmd changes, lib\meson.build format change,
      lib path changes, and sources change in meson.build under app\
    - Move Windows clock_gettime related code from config.c into 
      config.h and leverage rte_os_shim.h for timespec_get
    - Fix a "BAD_SIGN_OFF" warning for patch "[v6,09/10] app/testpmd: 
      fix unused function warnings"

---
V6 changes:
    - Fix "unused function" compilation warning when neither i40e
      nor ixgbe presents

---
V5 changes:
    - Remove macro trailing semicolon which missed to include in V4

---
V4 changes:
    - Split previous patch into more granular patches
    - Remove the bypass of rte_eal_cleanup at exit
    - Move all added macros into rte_os_shim.h
    - Remove redundant headers after the rte_os_shim patch merge
    - Revert the mman APIs replacement to leave relevant part UNIX only
    - Keep Windows library list the same structure and order as the 
      Unix library list in lib meson.build
	
---
V3 changes:
    - Split one patch into patchset
    - Replace mman APIs with rte_mem_xxx APIs
    - Use OS independant rte_rand
    - Add device event stubs for Windows
    - Disable unsupported Apps

---
V2 changes:
    - Fix commit message log long line issue
    - Fix coding style issues of pointer location
    - Fix indentation issue
    - Fix FreeBSD2101 compilation issue of AF_INET undeclared
---


Jie Zhou (9):
  lib: build libraries that testpmd depends on
  eal/windows: add necessary macros
  eal/windows: add device event stubs
  eal/Windows: add clock_gettime on Windows
  app/testpmd: resolve name collisions
  app/testpmd: fix parse_fec_mode return type name
  app/testpmd: replace POSIX specific code
  app/testpmd: fix unused function warnings
  app/testpmd: enable building testpmd on Windows

 app/meson.build                       |   4 -
 app/pdump/meson.build                 |   6 +
 app/proc-info/meson.build             |   6 +
 app/test-acl/meson.build              |   6 +
 app/test-bbdev/meson.build            |   6 +
 app/test-cmdline/meson.build          |   6 +
 app/test-compress-perf/meson.build    |   6 +
 app/test-crypto-perf/meson.build      |   6 +
 app/test-eventdev/meson.build         |   6 +
 app/test-fib/meson.build              |   6 +
 app/test-flow-perf/meson.build        |   6 +
 app/test-pipeline/meson.build         |   6 +
 app/test-pmd/cmdline.c                |  12 +-
 app/test-pmd/cmdline_flow.c           | 514 +++++++++++++-------------
 app/test-pmd/config.c                 |  86 ++---
 app/test-pmd/csumonly.c               |   2 +-
 app/test-pmd/icmpecho.c               |   4 +-
 app/test-pmd/ieee1588fwd.c            |   8 +-
 app/test-pmd/parameters.c             |  11 +-
 app/test-pmd/testpmd.c                |  21 +-
 app/test-pmd/testpmd.h                |   5 +-
 app/test-regex/meson.build            |   6 +
 app/test-sad/meson.build              |   6 +
 app/test/meson.build                  |   6 +
 lib/eal/windows/eal_dev.c             |  33 ++
 lib/eal/windows/include/rte_os_shim.h |  42 +++
 lib/eal/windows/meson.build           |   1 +
 lib/meson.build                       |   7 +
 28 files changed, 507 insertions(+), 327 deletions(-)
 create mode 100644 lib/eal/windows/eal_dev.c

-- 
2.31.0.vfs.0.1


  parent reply	other threads:[~2021-06-29 20:24 UTC|newest]

Thread overview: 110+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1619805162-10684-1-git-send-email-jizh@linux.microsoft.com>
2021-05-04  0:33 ` [dpdk-stable] [PATCH v10 00/10] " Jie Zhou
2021-05-04  0:34   ` [dpdk-stable] [PATCH v10 01/10] lib: build libraries that testpmd depends on Jie Zhou
2021-05-04  0:34   ` [dpdk-stable] [PATCH v10 02/10] eal/windows: add necessary macros Jie Zhou
2021-05-04  0:34   ` [dpdk-stable] [PATCH v10 03/10] eal/windows: add device event stubs Jie Zhou
2021-05-04  0:34   ` [dpdk-stable] [PATCH v10 04/10] eal/Windows: add clock_gettime on Windows Jie Zhou
2021-05-04  0:34   ` [dpdk-stable] [PATCH v10 05/10] app/testpmd: resolve name collisions Jie Zhou
2021-05-04  0:34   ` [dpdk-stable] [PATCH v10 06/10] app/testpmd: fix parse_fec_mode return type name Jie Zhou
2021-05-04  0:34   ` [dpdk-stable] [PATCH v10 07/10] app/testpmd: replace POSIX specific code Jie Zhou
2021-05-05  8:34     ` Tal Shnaiderman
2021-05-05 16:09       ` Jie Zhou
2021-05-05 16:41         ` [dpdk-stable] [dpdk-dev] " Jie Zhou
2021-05-04  0:34   ` [dpdk-stable] [PATCH v10 08/10] app/testpmd: fix headers inclusion Jie Zhou
2021-05-04  0:34   ` [dpdk-stable] [PATCH v10 09/10] app/testpmd: fix unused function warnings Jie Zhou
2021-05-04  0:34   ` [dpdk-stable] [PATCH v10 10/10] app/testpmd: enable building testpmd on Windows Jie Zhou
2021-05-04  7:31   ` [dpdk-stable] [PATCH v10 00/10] app/testpmd: enable " Thomas Monjalon
2021-05-05 16:00     ` Jie Zhou
2021-05-04 23:51   ` Kadam, Pallavi
2021-05-05 17:18   ` [dpdk-stable] [PATCH v11 " Jie Zhou
2021-05-05 17:18     ` [dpdk-stable] [PATCH v11 01/10] lib: build libraries that testpmd depends on Jie Zhou
2021-05-05 17:18     ` [dpdk-stable] [PATCH v11 02/10] eal/windows: add necessary macros Jie Zhou
2021-05-05 17:18     ` [dpdk-stable] [PATCH v11 03/10] eal/windows: add device event stubs Jie Zhou
2021-05-05 17:18     ` [dpdk-stable] [PATCH v11 04/10] eal/Windows: add clock_gettime on Windows Jie Zhou
2021-05-05 17:18     ` [dpdk-stable] [PATCH v11 05/10] app/testpmd: resolve name collisions Jie Zhou
2021-05-05 17:18     ` [dpdk-stable] [PATCH v11 06/10] app/testpmd: fix parse_fec_mode return type name Jie Zhou
2021-05-05 17:18     ` [dpdk-stable] [PATCH v11 07/10] app/testpmd: replace POSIX specific code Jie Zhou
2021-05-05 17:18     ` [dpdk-stable] [PATCH v11 08/10] app/testpmd: fix headers inclusion Jie Zhou
2021-05-05 17:18     ` [dpdk-stable] [PATCH v11 09/10] app/testpmd: fix unused function warnings Jie Zhou
2021-05-05 17:18     ` [dpdk-stable] [PATCH v11 10/10] app/testpmd: enable building testpmd on Windows Jie Zhou
2021-05-05 17:36     ` [dpdk-stable] [PATCH v12 00/10] app/testpmd: enable " Jie Zhou
2021-05-05 17:36       ` [dpdk-stable] [PATCH v12 01/10] lib: build libraries that testpmd depends on Jie Zhou
2021-05-05 17:36       ` [dpdk-stable] [PATCH v12 02/10] eal/windows: add necessary macros Jie Zhou
2021-05-05 17:36       ` [dpdk-stable] [PATCH v12 03/10] eal/windows: add device event stubs Jie Zhou
2021-05-05 17:36       ` [dpdk-stable] [PATCH v12 04/10] eal/Windows: add clock_gettime on Windows Jie Zhou
2021-05-05 17:36       ` [dpdk-stable] [PATCH v12 05/10] app/testpmd: resolve name collisions Jie Zhou
2021-05-05 17:36       ` [dpdk-stable] [PATCH v12 06/10] app/testpmd: fix parse_fec_mode return type name Jie Zhou
2021-05-05 17:36       ` [dpdk-stable] [PATCH v12 07/10] app/testpmd: replace POSIX specific code Jie Zhou
2021-05-05 17:36       ` [dpdk-stable] [PATCH v12 08/10] app/testpmd: fix headers inclusion Jie Zhou
2021-05-05 17:36       ` [dpdk-stable] [PATCH v12 09/10] app/testpmd: fix unused function warnings Jie Zhou
2021-05-05 17:36       ` [dpdk-stable] [PATCH v12 10/10] app/testpmd: enable building testpmd on Windows Jie Zhou
2021-05-05 19:12       ` [dpdk-stable] [PATCH v13 00/10] app/testpmd: enable " Jie Zhou
2021-05-05 19:12         ` [dpdk-stable] [PATCH v13 01/10] lib: build libraries that testpmd depends on Jie Zhou
2021-05-05 19:12         ` [dpdk-stable] [PATCH v13 02/10] eal/windows: add necessary macros Jie Zhou
2021-06-20 23:28           ` Dmitry Kozlyuk
2021-06-23 20:51             ` Jie Zhou
2021-05-05 19:12         ` [dpdk-stable] [PATCH v13 03/10] eal/windows: add device event stubs Jie Zhou
2021-06-20 23:28           ` Dmitry Kozlyuk
2021-05-05 19:12         ` [dpdk-stable] [PATCH v13 04/10] eal/Windows: add clock_gettime on Windows Jie Zhou
2021-06-20 23:30           ` Dmitry Kozlyuk
2021-06-23 20:57             ` Jie Zhou
2021-05-05 19:12         ` [dpdk-stable] [PATCH v13 05/10] app/testpmd: resolve name collisions Jie Zhou
2021-06-20 23:30           ` Dmitry Kozlyuk
2021-05-05 19:12         ` [dpdk-stable] [PATCH v13 06/10] app/testpmd: fix parse_fec_mode return type name Jie Zhou
2021-05-05 19:12         ` [dpdk-stable] [PATCH v13 07/10] app/testpmd: replace POSIX specific code Jie Zhou
2021-05-05 19:12         ` [dpdk-stable] [PATCH v13 08/10] app/testpmd: fix headers inclusion Jie Zhou
2021-06-20 23:30           ` Dmitry Kozlyuk
2021-06-23 20:58             ` Jie Zhou
2021-05-05 19:12         ` [dpdk-stable] [PATCH v13 09/10] app/testpmd: fix unused function warnings Jie Zhou
2021-06-20 23:30           ` Dmitry Kozlyuk
2021-06-23 21:26             ` Jie Zhou
2021-06-24 15:45               ` [dpdk-stable] [dpdk-dev] " Tyler Retzlaff
2021-06-24 18:44                 ` Dmitry Kozlyuk
2021-06-24 21:36                   ` Jie Zhou
2021-05-05 19:12         ` [dpdk-stable] [PATCH v13 10/10] app/testpmd: enable building testpmd on Windows Jie Zhou
2021-06-20 23:30           ` Dmitry Kozlyuk
2021-05-06  7:20         ` [dpdk-stable] [PATCH v13 00/10] app/testpmd: enable " Tal Shnaiderman
2021-06-23 22:34         ` [dpdk-stable] [PATCH v14 0/9] " Jie Zhou
2021-06-23 22:34           ` [dpdk-stable] [PATCH v14 1/9] lib: build libraries that testpmd depends on Jie Zhou
2021-06-24 23:10             ` Dmitry Kozlyuk
2021-06-28 10:01             ` Andrew Rybchenko
2021-06-28 10:35               ` [dpdk-stable] [dpdk-dev] " Andrew Rybchenko
2021-06-28 14:10                 ` Tyler Retzlaff
2021-06-29 18:29                   ` Jie Zhou
2021-06-23 22:34           ` [dpdk-stable] [PATCH v14 2/9] eal/windows: add necessary macros Jie Zhou
2021-06-24 23:10             ` Dmitry Kozlyuk
2021-06-23 22:34           ` [dpdk-stable] [PATCH v14 3/9] eal/windows: add device event stubs Jie Zhou
2021-06-23 22:34           ` [dpdk-stable] [PATCH v14 4/9] eal/Windows: add clock_gettime on Windows Jie Zhou
2021-06-24 23:10             ` Dmitry Kozlyuk
2021-06-23 22:34           ` [dpdk-stable] [PATCH v14 5/9] app/testpmd: resolve name collisions Jie Zhou
2021-06-23 22:34           ` [dpdk-stable] [PATCH v14 6/9] app/testpmd: fix parse_fec_mode return type name Jie Zhou
2021-06-28 10:55             ` Andrew Rybchenko
2021-06-28 14:29               ` [dpdk-stable] [dpdk-dev] " Tyler Retzlaff
2021-06-29 18:34                 ` Jie Zhou
2021-06-23 22:34           ` [dpdk-stable] [PATCH v14 7/9] app/testpmd: replace POSIX specific code Jie Zhou
2021-06-24 23:10             ` Dmitry Kozlyuk
2021-06-23 22:34           ` [dpdk-stable] [PATCH v14 8/9] app/testpmd: fix unused function warnings Jie Zhou
2021-06-24 23:10             ` Dmitry Kozlyuk
2021-06-23 22:34           ` [dpdk-stable] [PATCH v14 9/9] app/testpmd: enable building testpmd on Windows Jie Zhou
2021-06-29 20:23           ` Jie Zhou [this message]
2021-06-29 20:23             ` [dpdk-stable] [PATCH v15 1/9] lib: build libraries that testpmd depends on Jie Zhou
2021-06-29 20:23             ` [dpdk-stable] [PATCH v15 2/9] eal/windows: add necessary macros Jie Zhou
2021-06-29 20:23             ` [dpdk-stable] [PATCH v15 3/9] eal/windows: add device event stubs Jie Zhou
2021-06-29 20:23             ` [dpdk-stable] [PATCH v15 4/9] eal/Windows: add clock_gettime on Windows Jie Zhou
2021-06-29 20:23             ` [dpdk-stable] [PATCH v15 5/9] app/testpmd: resolve name collisions Jie Zhou
2021-06-29 20:23             ` [dpdk-stable] [PATCH v15 6/9] app/testpmd: fix parse_fec_mode return type name Jie Zhou
2021-06-29 20:23             ` [dpdk-stable] [PATCH v15 7/9] app/testpmd: replace POSIX specific code Jie Zhou
2021-06-29 20:23             ` [dpdk-stable] [PATCH v15 8/9] app/testpmd: fix unused function warnings Jie Zhou
2021-06-29 20:23             ` [dpdk-stable] [PATCH v15 9/9] app/testpmd: enable building testpmd on Windows Jie Zhou
2021-06-29 20:50             ` [dpdk-stable] [PATCH v16 0/9] app/testpmd: enable " Jie Zhou
2021-06-29 20:50               ` [dpdk-stable] [PATCH v16 1/9] lib: build libraries that testpmd depends on Jie Zhou
2021-06-29 20:50               ` [dpdk-stable] [PATCH v16 2/9] eal/windows: add necessary macros Jie Zhou
2021-06-29 20:50               ` [dpdk-stable] [PATCH v16 3/9] eal/windows: add device event stubs Jie Zhou
2021-06-29 20:50               ` [dpdk-stable] [PATCH v16 4/9] eal/Windows: add clock_gettime on Windows Jie Zhou
2021-06-29 20:50               ` [dpdk-stable] [PATCH v16 5/9] app/testpmd: resolve name collisions Jie Zhou
2021-07-01 13:41                 ` Andrew Rybchenko
2021-06-29 20:50               ` [dpdk-stable] [PATCH v16 6/9] app/testpmd: fix parse_fec_mode return type name Jie Zhou
2021-07-01 13:34                 ` Andrew Rybchenko
2021-06-29 20:50               ` [dpdk-stable] [PATCH v16 7/9] app/testpmd: replace POSIX specific code Jie Zhou
2021-06-29 20:50               ` [dpdk-stable] [PATCH v16 8/9] app/testpmd: fix unused function warnings Jie Zhou
2021-06-29 20:50               ` [dpdk-stable] [PATCH v16 9/9] app/testpmd: enable building testpmd on Windows Jie Zhou
2021-07-01 13:49               ` [dpdk-stable] [PATCH v16 0/9] app/testpmd: enable " Andrew Rybchenko

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=1624998226-12220-1-git-send-email-jizh@linux.microsoft.com \
    --to=jizh@linux.microsoft.com \
    --cc=andrew.rybchenko@oktetlabs.ru \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=dmitry.kozliuk@gmail.com \
    --cc=ferruh.yigit@intel.com \
    --cc=konstantin.ananyev@intel.com \
    --cc=pallavi.kadam@intel.com \
    --cc=roretzla@microsoft.com \
    --cc=stable@dpdk.org \
    --cc=talshn@nvidia.com \
    --cc=thomas@monjalon.net \
    --cc=xiaoyun.li@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
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).