From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-11.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9FD66C433ED for ; Fri, 23 Apr 2021 00:32:27 +0000 (UTC) Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by mail.kernel.org (Postfix) with ESMTP id 0D715613F2 for ; Fri, 23 Apr 2021 00:32:27 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0D715613F2 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.microsoft.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dev-bounces@dpdk.org Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5A4BC41DC6; Fri, 23 Apr 2021 02:32:11 +0200 (CEST) Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mails.dpdk.org (Postfix) with ESMTP id CA44241C9D for ; Fri, 23 Apr 2021 02:32:06 +0200 (CEST) Received: from linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net (linux.microsoft.com [13.77.154.182]) by linux.microsoft.com (Postfix) with ESMTPSA id EDDA220B8001; Thu, 22 Apr 2021 17:32:05 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com EDDA220B8001 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1619137926; bh=3cJwmWhiGMIE34WqLTW7L/j/1FMFi3CIcMpaAXqYiB4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ZvQyluJXlZi6gq5uegejXJw6BmFpIwipvXwbUbcba1owfKakyoIJDv+L6MUiPLJyR NBB9J4bAtpwHlENII6E0+X05ZXTuS/Da4fEApYln/FyNxRO6W5fHClwGYKC00hvutt G3TcN6qOQICAKKjsaWWRkXG99K39oMY5gOm90Ass= From: Jie Zhou To: dev@dpdk.org Cc: dmitry.kozliuk@gmail.com, xiaoyun.li@intel.com, roretzla@microsoft.com, pallavi.kadam@intel.com, thomas@monjalon.net, bruce.richardson@intel.com, ferruh.yigit@intel.com, konstantin.ananyev@intel.com Date: Thu, 22 Apr 2021 17:31:50 -0700 Message-Id: <1619137920-13449-1-git-send-email-jizh@linux.microsoft.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1618874400-26819-1-git-send-email-jizh@linux.microsoft.com> References: <1618874400-26819-1-git-send-email-jizh@linux.microsoft.com> Subject: [dpdk-dev] [PATCH v7 00/10] app/testpmd: enable testpmd on Windows X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 --- 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 (10): lib: build libraries that testpmd depends on eal/windows: add necessary macros eal/windows: add device event stubs app/testpmd: resolve name collisions app/testpmd: add clock_gettime on Windows app/testpmd: fix parse_fec_mode return type app/testpmd: replace POSIX specific code app/testpmd: fix headers inclusion 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 | 96 +++-- app/test-pmd/config.h | 66 ++++ 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 | 9 + lib/eal/windows/meson.build | 1 + lib/meson.build | 7 + 29 files changed, 542 insertions(+), 335 deletions(-) create mode 100644 app/test-pmd/config.h create mode 100644 lib/eal/windows/eal_dev.c -- 2.30.0.vfs.0.2