[dpdk-dev] [PATCH v16 0/9] app/testpmd: enable testpmd on Windows

Andrew Rybchenko andrew.rybchenko at oktetlabs.ru
Thu Jul 1 15:49:29 CEST 2021


On 6/29/21 11:50 PM, Jie Zhou wrote:
> 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 at intel.com>
> Acked-by: Pallavi Kadam <pallavi.kadam at intel.com>
> Acked-by: Tal Shnaiderman <talshn at nvidia.com>
> 
> ---
> V16 changes:
>     - Manually change Patch #9 From: email address to a proper one
> 
> ---
> V15 changes:
>     - Remove unnecessary Signed-off-by
>     - Fix Patch #6 description to explain the root cause
>     - Remove a trailing whitespace in Patch #4
> 
> ---
> 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
> 

Applied, thanks.


More information about the dev mailing list