DPDK patches and discussions
 help / color / mirror / Atom feed
From: "McDaniel, Timothy" <timothy.mcdaniel@intel.com>
To: "dev@dpdk.org" <dev@dpdk.org>
Subject: RE: dev Digest, Vol 381, Issue 38
Date: Mon, 13 Dec 2021 15:41:31 +0000	[thread overview]
Message-ID: <SN6PR11MB3103EF3B72CB8319452E2C0E9E749@SN6PR11MB3103.namprd11.prod.outlook.com> (raw)
In-Reply-To: <mailman.6600.1638928267.5855.dev@dpdk.org>



> -----Original Message-----
> From: dev-request@dpdk.org <dev-request@dpdk.org>
> Sent: Tuesday, December 7, 2021 7:51 PM
> To: dev@dpdk.org
> Subject: dev Digest, Vol 381, Issue 38
> 
> Send dev mailing list submissions to
> 	dev@dpdk.org
> 
> To subscribe or unsubscribe via the World Wide Web, visit
> 	https://mails.dpdk.org/listinfo/dev
> or, via email, send a message with subject or body 'help' to
> 	dev-request@dpdk.org
> 
> You can reach the person managing the list at
> 	dev-owner@dpdk.org
> 
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of dev digest..."
> 
> 
> Today's Topics:
> 
>    1. [PATCH v12 02/11] app/test: remove POSIX-specific code (Jie Zhou)
>    2. [PATCH v2] doc/dlb2: update dlb2 documentation (Rashmi Shetty)
>    3. [PATCH v13 01/11] eal/windows: return ENOTSUP for not
>       supported API (Jie Zhou)
>    4. [PATCH v13 03/11] app/test: fix incorrect errno variable
>       (Jie Zhou)
>    5. [PATCH v13 04/11] app/test: skip interrupt tests on Windows
>       (Jie Zhou)
>    6. [PATCH v13 00/11] app/test: enable subset of tests on Windows
>       (Jie Zhou)
> 
> 
> ----------------------------------------------------------------------
> 
> Message: 1
> Date: Tue,  7 Dec 2021 13:24:14 -0800
> From: Jie Zhou <jizh@linux.microsoft.com>
> To: dev@dpdk.org
> Cc: dmitry.kozliuk@gmail.com, bruce.richardson@intel.com,
> 	roretzla@microsoft.com, navasile@linux.microsoft.com,
> 	dmitrym@microsoft.com, pallavi.kadam@intel.com,
> talshn@nvidia.com,
> 	thomas@monjalon.net, aconole@redhat.com
> Subject: [PATCH v12 02/11] app/test: remove POSIX-specific code
> Message-ID:
> 	<1638912263-7054-3-git-send-email-jizh@linux.microsoft.com>
> 
> - Replace POSIX-specific code with DPDK equivalents or conditional platform
>   specific code, or conditionally disable it on Windows
> - Use NUL on Windows as /dev/null for Unix
> - Exclude tests not supported on Windows yet
>   * multi-process
>   * PMD performance statistics display on signal
> 
> Signed-off-by: Jie Zhou <jizh@linux.microsoft.com>
> Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
> 
> ---
>  app/test/commands.c               |  2 --
>  app/test/packet_burst_generator.c |  1 +
>  app/test/process.h                |  4 +++-
>  app/test/test.c                   |  5 ++++-
>  app/test/test_byteorder.c         |  2 +-
>  app/test/test_cmdline_ipaddr.c    | 19 +++++++++----------
>  app/test/test_cmdline_lib.c       | 13 +++++++++----
>  app/test/test_crc.c               |  1 -
>  app/test/test_memcpy_perf.c       | 28 ++++++++++++++--------------
>  app/test/test_pmd_perf.c          |  6 +++++-
>  app/test/test_ring_stress_impl.h  |  2 +-
>  app/test/test_telemetry_data.c    |  2 ++
>  12 files changed, 49 insertions(+), 36 deletions(-)
> 
> diff --git a/app/test/commands.c b/app/test/commands.c
> index 2dced3bc44..887cabad64 100644
> --- a/app/test/commands.c
> +++ b/app/test/commands.c
> @@ -8,8 +8,6 @@
>  #include <stdint.h>
>  #include <string.h>
>  #include <stdlib.h>
> -#include <netinet/in.h>
> -#include <termios.h>
>  #include <inttypes.h>
>  #include <errno.h>
>  #include <sys/queue.h>
> diff --git a/app/test/packet_burst_generator.c
> b/app/test/packet_burst_generator.c
> index 8ac24577ba..6b42b9b83b 100644
> --- a/app/test/packet_burst_generator.c
> +++ b/app/test/packet_burst_generator.c
> @@ -5,6 +5,7 @@
>  #include <rte_byteorder.h>
>  #include <rte_mbuf.h>
>  #include <rte_ip.h>
> +#include <rte_os_shim.h>
> 
>  #include "packet_burst_generator.h"
> 
> diff --git a/app/test/process.h b/app/test/process.h
> index 5b10cf64df..1f073b9c5c 100644
> --- a/app/test/process.h
> +++ b/app/test/process.h
> @@ -7,12 +7,14 @@
> 
>  #include <errno.h>  /* errno */
>  #include <limits.h> /* PATH_MAX */
> +#ifndef RTE_EXEC_ENV_WINDOWS
>  #include <libgen.h> /* basename et al */
> +#include <sys/wait.h>
> +#endif
>  #include <stdlib.h> /* NULL */
>  #include <string.h> /* strerror */
>  #include <unistd.h> /* readlink */
>  #include <dirent.h>
> -#include <sys/wait.h>
> 
>  #include <rte_string_fns.h> /* strlcpy */
> 
> diff --git a/app/test/test.c b/app/test/test.c
> index 5194131026..e69cae3eea 100644
> --- a/app/test/test.c
> +++ b/app/test/test.c
> @@ -8,7 +8,6 @@
>  #include <stdarg.h>
>  #include <stdlib.h>
>  #include <errno.h>
> -#include <termios.h>
>  #include <ctype.h>
>  #include <sys/queue.h>
> 
> @@ -63,7 +62,9 @@ do_recursive_call(void)
>  		const char *env_var;
>  		int (*action_fn)(void);
>  	} actions[] =  {
> +#ifndef RTE_EXEC_ENV_WINDOWS
>  			{ "run_secondary_instances", test_mp_secondary },
> +#endif
>  #ifdef RTE_LIB_PDUMP
>  #ifdef RTE_NET_RING
>  			{ "run_pdump_server_tests", test_pdump },
> @@ -82,7 +83,9 @@ do_recursive_call(void)
>  			{ "test_file_prefix", no_action },
>  			{ "test_no_huge_flag", no_action },
>  #ifdef RTE_LIB_TIMER
> +#ifndef RTE_EXEC_ENV_WINDOWS
>  			{ "timer_secondary_spawn_wait",
> test_timer_secondary },
> +#endif
>  #endif
>  	};
> 
> diff --git a/app/test/test_byteorder.c b/app/test/test_byteorder.c
> index 03c08d9abf..de14ed539e 100644
> --- a/app/test/test_byteorder.c
> +++ b/app/test/test_byteorder.c
> @@ -46,7 +46,7 @@ test_byteorder(void)
>  		return -1;
> 
>  	res_u16 = rte_bswap16(0x1337);
> -	printf("const %"PRIx16" -> %"PRIx16"\n", 0x1337, res_u16);
> +	printf("const %"PRIx16" -> %"PRIx16"\n", (uint16_t)0x1337, res_u16);
>  	if (res_u16 != 0x3713)
>  		return -1;
> 
> diff --git a/app/test/test_cmdline_ipaddr.c b/app/test/test_cmdline_ipaddr.c
> index 2a1ee120fc..278fa3cd79 100644
> --- a/app/test/test_cmdline_ipaddr.c
> +++ b/app/test/test_cmdline_ipaddr.c
> @@ -1,12 +1,9 @@
>  /* SPDX-License-Identifier: BSD-3-Clause
>   * Copyright(c) 2010-2014 Intel Corporation
>   */
> -
>  #include <stdio.h>
>  #include <string.h>
>  #include <inttypes.h>
> -#include <netinet/in.h>
> -#include <sys/socket.h>
> 
>  #include <rte_string_fns.h>
> 
> @@ -15,17 +12,21 @@
> 
>  #include "test_cmdline.h"
> 
> -#define IP4(a,b,c,d) {((uint32_t)(((a) & 0xff)) | \
> -					   (((b) & 0xff) << 8) | \
> -					   (((c) & 0xff) << 16)  | \
> -					   ((d) & 0xff)  << 24)}
> +#define IP4(a,b,c,d) {.s_addr = (uint32_t)(((a) & 0xff) | \
> +					  (((b) & 0xff) << 8) | \
> +					  (((c) & 0xff) << 16)  | \
> +					  ((d) & 0xff)  << 24)}
> 
>  #define U16_SWAP(x) \
>  		(((x & 0xFF) << 8) | ((x & 0xFF00) >> 8))
> 
>  /* create IPv6 address, swapping bytes where needed */
>  #ifndef s6_addr16
> -# define s6_addr16      __u6_addr.__u6_addr16
> +#ifdef RTE_EXEC_ENV_WINDOWS
> +#define s6_addr16 u.Word
> +#else
> +#define s6_addr16 __u6_addr.__u6_addr16
> +#endif
>  #endif
>  #define IP6(a,b,c,d,e,f,g,h) .ipv6 = \
>  		{.s6_addr16 = \
> @@ -166,8 +167,6 @@ const char * ipaddr_garbage_network6_strs[] = {
>  };
>  #define IPv6_GARBAGE_PREFIX 64
> 
> -
> -
>  const char * ipaddr_invalid_strs[] = {
>  		/** IPv4 **/
> 
> diff --git a/app/test/test_cmdline_lib.c b/app/test/test_cmdline_lib.c
> index f50ccdb599..fcd58cb76a 100644
> --- a/app/test/test_cmdline_lib.c
> +++ b/app/test/test_cmdline_lib.c
> @@ -8,7 +8,6 @@
>  #include <stdarg.h>
>  #include <stdlib.h>
>  #include <errno.h>
> -#include <termios.h>
>  #include <ctype.h>
>  #include <sys/queue.h>
> 
> @@ -22,6 +21,12 @@
> 
>  #include "test_cmdline.h"
> 
> +#ifndef RTE_EXEC_ENV_WINDOWS
> +#define NULL_INPUT "/dev/null"
> +#else
> +#define NULL_INPUT "NUL"
> +#endif
> +
> 
> /****************************************************************
> /
>  /* static functions required for some tests */
>  static void
> @@ -156,10 +161,10 @@ test_cmdline_socket_fns(void)
>  	cl = cmdline_stdin_new(&ctx, NULL);
>  	if (cl != NULL)
>  		goto error;
> -	cl = cmdline_file_new(NULL, "prompt", "/dev/null");
> +	cl = cmdline_file_new(NULL, "prompt", NULL_INPUT);
>  	if (cl != NULL)
>  		goto error;
> -	cl = cmdline_file_new(&ctx, NULL, "/dev/null");
> +	cl = cmdline_file_new(&ctx, NULL, NULL_INPUT);
>  	if (cl != NULL)
>  		goto error;
>  	cl = cmdline_file_new(&ctx, "prompt", NULL);
> @@ -171,7 +176,7 @@ test_cmdline_socket_fns(void)
>  		cmdline_free(cl);
>  		return -1;
>  	}
> -	cl = cmdline_file_new(&ctx, "prompt", "/dev/null");
> +	cl = cmdline_file_new(&ctx, "prompt", NULL_INPUT);
>  	if (cl == NULL) {
>  		printf("Error: failed to open /dev/null for reading!");
>  		return -1;
> diff --git a/app/test/test_crc.c b/app/test/test_crc.c
> index bf1d344359..0ed080e482 100644
> --- a/app/test/test_crc.c
> +++ b/app/test/test_crc.c
> @@ -14,7 +14,6 @@
>  #define CRC32_VEC_LEN2     348
>  #define CRC16_VEC_LEN1     12
>  #define CRC16_VEC_LEN2     2
> -#define LINE_LEN           75
> 
>  /* CRC test vector */
>  static const uint8_t crc_vec[CRC_VEC_LEN] = {
> diff --git a/app/test/test_memcpy_perf.c b/app/test/test_memcpy_perf.c
> index c711e36ba7..0dc88ed39c 100644
> --- a/app/test/test_memcpy_perf.c
> +++ b/app/test/test_memcpy_perf.c
> @@ -6,10 +6,10 @@
>  #include <stdio.h>
>  #include <string.h>
>  #include <stdlib.h>
> -#include <sys/time.h>
> 
>  #include <rte_common.h>
>  #include <rte_cycles.h>
> +#include <rte_os_shim.h>
>  #include <rte_random.h>
>  #include <rte_malloc.h>
> 
> @@ -271,7 +271,7 @@ static int
>  perf_test(void)
>  {
>  	int ret;
> -	struct timeval tv_begin, tv_end;
> +	struct timespec tv_begin, tv_end;
>  	double time_aligned, time_unaligned;
>  	double time_aligned_const, time_unaligned_const;
> 
> @@ -298,32 +298,32 @@ perf_test(void)
>  	printf("\n================================= %2dB aligned
> =================================",
>  		ALIGNMENT_UNIT);
>  	/* Do aligned tests where size is a variable */
> -	gettimeofday(&tv_begin, NULL);
> +	timespec_get(&tv_begin, TIME_UTC);
>  	perf_test_variable_aligned();
> -	gettimeofday(&tv_end, NULL);
> +	timespec_get(&tv_end, TIME_UTC);
>  	time_aligned = (double)(tv_end.tv_sec - tv_begin.tv_sec)
> -		+ ((double)tv_end.tv_usec - tv_begin.tv_usec)/1000000;
> +		+ ((double)tv_end.tv_nsec - tv_begin.tv_nsec) / NS_PER_S;
>  	printf("\n------- ----------------- ----------------- ----------------- ----------------
> -");
>  	/* Do aligned tests where size is a compile-time constant */
> -	gettimeofday(&tv_begin, NULL);
> +	timespec_get(&tv_begin, TIME_UTC);
>  	perf_test_constant_aligned();
> -	gettimeofday(&tv_end, NULL);
> +	timespec_get(&tv_end, TIME_UTC);
>  	time_aligned_const = (double)(tv_end.tv_sec - tv_begin.tv_sec)
> -		+ ((double)tv_end.tv_usec - tv_begin.tv_usec)/1000000;
> +		+ ((double)tv_end.tv_nsec - tv_begin.tv_nsec) / NS_PER_S;
>  	printf("\n================================== Unaligned
> ==================================");
>  	/* Do unaligned tests where size is a variable */
> -	gettimeofday(&tv_begin, NULL);
> +	timespec_get(&tv_begin, TIME_UTC);
>  	perf_test_variable_unaligned();
> -	gettimeofday(&tv_end, NULL);
> +	timespec_get(&tv_end, TIME_UTC);
>  	time_unaligned = (double)(tv_end.tv_sec - tv_begin.tv_sec)
> -		+ ((double)tv_end.tv_usec - tv_begin.tv_usec)/1000000;
> +		+ ((double)tv_end.tv_nsec - tv_begin.tv_nsec) / NS_PER_S;
>  	printf("\n------- ----------------- ----------------- ----------------- ----------------
> -");
>  	/* Do unaligned tests where size is a compile-time constant */
> -	gettimeofday(&tv_begin, NULL);
> +	timespec_get(&tv_begin, TIME_UTC);
>  	perf_test_constant_unaligned();
> -	gettimeofday(&tv_end, NULL);
> +	timespec_get(&tv_end, TIME_UTC);
>  	time_unaligned_const = (double)(tv_end.tv_sec - tv_begin.tv_sec)
> -		+ ((double)tv_end.tv_usec - tv_begin.tv_usec)/1000000;
> +		+ ((double)tv_end.tv_nsec - tv_begin.tv_nsec) / NS_PER_S;
>  	printf("\n======= ================= =================
> ================= =================\n\n");
> 
>  	printf("Test Execution Time (seconds):\n");
> diff --git a/app/test/test_pmd_perf.c b/app/test/test_pmd_perf.c
> index 0aa9dc1b1c..25611bfe9b 100644
> --- a/app/test/test_pmd_perf.c
> +++ b/app/test/test_pmd_perf.c
> @@ -296,6 +296,7 @@ reset_count(void)
>  	idle = 0;
>  }
> 
> +#ifndef RTE_EXEC_ENV_WINDOWS
>  static void
>  stats_display(uint16_t port_id)
>  {
> @@ -325,6 +326,7 @@ signal_handler(int signum)
>  	if (signum == SIGUSR2)
>  		stats_display(0);
>  }
> +#endif
> 
>  struct rte_mbuf **tx_burst;
> 
> @@ -638,7 +640,7 @@ exec_burst(uint32_t flags, int lcore)
>  		i = (i >= conf->nb_ports - 1) ? 0 : (i + 1);
>  	}
> 
> -	sleep(5);
> +	rte_delay_us(5 * US_PER_S);
> 
>  	/* only when polling second  */
>  	if (flags == SC_BURST_XMIT_FIRST)
> @@ -669,8 +671,10 @@ test_pmd_perf(void)
> 
>  	printf("Start PMD RXTX cycles cost test.\n");
> 
> +#ifndef RTE_EXEC_ENV_WINDOWS
>  	signal(SIGUSR1, signal_handler);
>  	signal(SIGUSR2, signal_handler);
> +#endif
> 
>  	nb_ports = rte_eth_dev_count_avail();
>  	if (nb_ports < NB_ETHPORTS_USED) {
> diff --git a/app/test/test_ring_stress_impl.h b/app/test/test_ring_stress_impl.h
> index 2825a9dce6..62f046a91a 100644
> --- a/app/test/test_ring_stress_impl.h
> +++ b/app/test/test_ring_stress_impl.h
> @@ -360,7 +360,7 @@ test_mt1(int (*test)(void *))
>  	/* signal worker to start test */
>  	__atomic_store_n(&wrk_cmd, WRK_CMD_RUN, __ATOMIC_RELEASE);
> 
> -	usleep(run_time * US_PER_S);
> +	rte_delay_us(run_time * US_PER_S);
> 
>  	/* signal worker to start test */
>  	__atomic_store_n(&wrk_cmd, WRK_CMD_STOP, __ATOMIC_RELEASE);
> diff --git a/app/test/test_telemetry_data.c b/app/test/test_telemetry_data.c
> index 18b93db8ef..73eee293a1 100644
> --- a/app/test/test_telemetry_data.c
> +++ b/app/test/test_telemetry_data.c
> @@ -4,7 +4,9 @@
> 
>  #include <string.h>
>  #include <sys/socket.h>
> +#ifndef RTE_EXEC_ENV_WINDOWS
>  #include <sys/un.h>
> +#endif
>  #include <unistd.h>
>  #include <limits.h>
> 
> --
> 2.31.0.vfs.0.1
> 
> 
> 
> ------------------------------
> 
> Message: 2
> Date: Tue,  7 Dec 2021 17:01:51 -0600
> From: Rashmi Shetty <rashmi.shetty@intel.com>
> To: dev@dpdk.org
> Cc: jerinj@marvell.com, harry.van.haaren@intel.com,
> 	pravin.pathak@intel.com, mike.ximing.chen@intel.com,
> 	timothy.mcdaniel@intel.com, Rashmi Shetty
> <rashmi.shetty@intel.com>
> Subject: [PATCH v2] doc/dlb2: update dlb2 documentation
> Message-ID: <20211207230151.2332031-1-rashmi.shetty@intel.com>
> 
> Number of direct credits, atomic inflight and history list are
> updated to DLB2.0 supported sizes. As DLB2.0 does not provide
> dev arg to override the default per-queue atomic inflight
> allocation, it is removed from the documentation.
> 
> Signed-off-by: Rashmi Shetty <rashmi.shetty@intel.com>
> ---
>  doc/guides/eventdevs/dlb2.rst | 19 ++++++-------------
>  1 file changed, 6 insertions(+), 13 deletions(-)
> 
> diff --git a/doc/guides/eventdevs/dlb2.rst b/doc/guides/eventdevs/dlb2.rst
> index bce984ca08..bc53618b53 100644
> --- a/doc/guides/eventdevs/dlb2.rst
> +++ b/doc/guides/eventdevs/dlb2.rst
> @@ -151,7 +151,7 @@ load-balanced queues, and directed credits are used for
> directed queues.
>  These pools' sizes are controlled by the nb_events_limit field in struct
>  rte_event_dev_config. The load-balanced pool is sized to contain
>  nb_events_limit credits, and the directed pool is sized to contain
> -nb_events_limit/4 credits. The directed pool size can be overridden with the
> +nb_events_limit/2 credits. The directed pool size can be overridden with the
>  num_dir_credits devargs argument, like so:
> 
>      .. code-block:: console
> @@ -239,8 +239,8 @@ queue A.
>  Due to this, workers should stop retrying after a time, release the events it
>  is attempting to enqueue, and dequeue more events. It is important that the
>  worker release the events and don't simply set them aside to retry the enqueue
> -again later, because the port has limited history list size (by default, twice
> -the port's dequeue_depth).
> +again later, because the port has limited history list size (by default, same
> +as port's dequeue_depth).
> 
>  Priority
>  ~~~~~~~~
> @@ -309,18 +309,11 @@ scheduled. The likelihood of this case depends on the
> eventdev configuration,
>  traffic behavior, event processing latency, potential for a worker to be
>  interrupted or otherwise delayed, etc.
> 
> -By default, the PMD allocates 16 buffer entries for each load-balanced queue,
> -which provides an even division across all 128 queues but potentially wastes
> +By default, the PMD allocates 64 buffer entries for each load-balanced queue,
> +which provides an even division across all 32 queues but potentially wastes
>  buffer space (e.g. if not all queues are used, or aren't used for atomic
>  scheduling).
> 
> -The PMD provides a dev arg to override the default per-queue allocation. To
> -increase per-queue atomic-inflight allocation to (for example) 64:
> -
> -    .. code-block:: console
> -
> -       --allow ea:00.0,atm_inflights=64
> -
>  QID Depth Threshold
>  ~~~~~~~~~~~~~~~~~~~
> 
> @@ -337,7 +330,7 @@ Per queue threshold metrics are tracked in the DLB
> xstats, and are also
>  returned in the impl_opaque field of each received event.
> 
>  The per qid threshold can be specified as part of the device args, and
> -can be applied to all queue, a range of queues, or a single queue, as
> +can be applied to all queues, a range of queues, or a single queue, as
>  shown below.
> 
>      .. code-block:: console
> --
> 2.25.1
> 

    Reviewed-by: Timothy McDaniel <timothy.mcdaniel@intel.com>


> 
> ------------------------------
> 
> Message: 3
> Date: Tue,  7 Dec 2021 17:50:52 -0800
> From: Jie Zhou <jizh@linux.microsoft.com>
> To: dev@dpdk.org
> Cc: dmitry.kozliuk@gmail.com, bruce.richardson@intel.com,
> 	roretzla@microsoft.com, navasile@linux.microsoft.com,
> 	dmitrym@microsoft.com, pallavi.kadam@intel.com,
> talshn@nvidia.com,
> 	thomas@monjalon.net, aconole@redhat.com
> Subject: [PATCH v13 01/11] eal/windows: return ENOTSUP for not
> 	supported API
> Message-ID:
> 	<1638928262-13177-2-git-send-email-jizh@linux.microsoft.com>
> 
> UT memory_autotest on Windows has 2 failed cases on eal APIs
> eal_memalloc_get_seg_fd and eal_memalloc_get_seg_fd_offset. These 2
> APIs are not supported on Windows yet. Should return ENOTSUP such that
> in test_memory.c these 2 ENOTSUP cases will not be marked as failures,
> same as other ENOTSUP cases.
> 
> Signed-off-by: Jie Zhou <jizh@linux.microsoft.com>
> Acked-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
> 
> ---
>  lib/eal/windows/eal_memalloc.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/lib/eal/windows/eal_memalloc.c b/lib/eal/windows/eal_memalloc.c
> index 55d6dcc71c..aa7589b81d 100644
> --- a/lib/eal/windows/eal_memalloc.c
> +++ b/lib/eal/windows/eal_memalloc.c
> @@ -17,7 +17,7 @@ eal_memalloc_get_seg_fd(int list_idx, int seg_idx)
>  	RTE_SET_USED(list_idx);
>  	RTE_SET_USED(seg_idx);
>  	EAL_LOG_NOT_IMPLEMENTED();
> -	return -1;
> +	return -ENOTSUP;
>  }
> 
>  int
> @@ -28,7 +28,7 @@ eal_memalloc_get_seg_fd_offset(int list_idx, int seg_idx,
> size_t *offset)
>  	RTE_SET_USED(seg_idx);
>  	RTE_SET_USED(offset);
>  	EAL_LOG_NOT_IMPLEMENTED();
> -	return -1;
> +	return -ENOTSUP;
>  }
> 
>  static int
> @@ -428,7 +428,7 @@ eal_memalloc_sync_with_primary(void)
>  {
>  	/* No multi-process support. */
>  	EAL_LOG_NOT_IMPLEMENTED();
> -	return -1;
> +	return -ENOTSUP;
>  }
> 
>  int
> --
> 2.31.0.vfs.0.1
> 
> 
> 
> ------------------------------
> 
> Message: 4
> Date: Tue,  7 Dec 2021 17:50:54 -0800
> From: Jie Zhou <jizh@linux.microsoft.com>
> To: dev@dpdk.org
> Cc: dmitry.kozliuk@gmail.com, bruce.richardson@intel.com,
> 	roretzla@microsoft.com, navasile@linux.microsoft.com,
> 	dmitrym@microsoft.com, pallavi.kadam@intel.com,
> talshn@nvidia.com,
> 	thomas@monjalon.net, aconole@redhat.com
> Subject: [PATCH v13 03/11] app/test: fix incorrect errno variable
> Message-ID:
> 	<1638928262-13177-4-git-send-email-jizh@linux.microsoft.com>
> 
> Fix incorrect errno variable used in memory autotest.
> Use rte_errno instead.
> 
> Fixes: 086d426406bd ("app/test: fix memory autotests on FreeBSD")
> Cc: bruce.richardson@intel.com
> 
> Signed-off-by: Jie Zhou <jizh@linux.microsoft.com>
> Acked-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
> 
> ---
>  app/test/test_memory.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/app/test/test_memory.c b/app/test/test_memory.c
> index dbf6871e71..140ac3f3cf 100644
> --- a/app/test/test_memory.c
> +++ b/app/test/test_memory.c
> @@ -63,7 +63,7 @@ check_seg_fds(const struct rte_memseg_list *msl, const
> struct rte_memseg *ms,
>  	/* we're able to get memseg fd - try getting its offset */
>  	ret = rte_memseg_get_fd_offset_thread_unsafe(ms, &offset);
>  	if (ret < 0) {
> -		if (errno == ENOTSUP)
> +		if (rte_errno == ENOTSUP)
>  			return 1;
>  		return -1;
>  	}
> --
> 2.31.0.vfs.0.1
> 
> 
> 
> ------------------------------
> 
> Message: 5
> Date: Tue,  7 Dec 2021 17:50:55 -0800
> From: Jie Zhou <jizh@linux.microsoft.com>
> To: dev@dpdk.org
> Cc: dmitry.kozliuk@gmail.com, bruce.richardson@intel.com,
> 	roretzla@microsoft.com, navasile@linux.microsoft.com,
> 	dmitrym@microsoft.com, pallavi.kadam@intel.com,
> talshn@nvidia.com,
> 	thomas@monjalon.net, aconole@redhat.com
> Subject: [PATCH v13 04/11] app/test: skip interrupt tests on Windows
> Message-ID:
> 	<1638928262-13177-5-git-send-email-jizh@linux.microsoft.com>
> 
> Even though test_interrupts.c can compile on Windows, skip interrupt
> tests for now since majority of eal_interrupt on Windows are stubs.
> Will remove the skip after interrupt being fully enabled on Windows.
> 
> Signed-off-by: Jie Zhou <jizh@linux.microsoft.com>
> Acked-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
> 
> ---
>  app/test/test_interrupts.c | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/app/test/test_interrupts.c b/app/test/test_interrupts.c
> index 2a05399f96..eec9b2805b 100644
> --- a/app/test/test_interrupts.c
> +++ b/app/test/test_interrupts.c
> @@ -12,6 +12,15 @@
> 
>  #include "test.h"
> 
> +#ifdef RTE_EXEC_ENV_WINDOWS
> +static int
> +test_interrupt(void)
> +{
> +	printf("Interrupt on Windows is not fully supported yet, skipping
> test\n");
> +	return TEST_SKIPPED;
> +}
> +#else
> +
>  #define TEST_INTERRUPT_CHECK_INTERVAL 100 /* ms */
> 
>  /* predefined interrupt handle types */
> @@ -590,5 +599,6 @@ test_interrupt(void)
> 
>  	return ret;
>  }
> +#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/
> 
>  REGISTER_TEST_COMMAND(interrupt_autotest, test_interrupt);
> --
> 2.31.0.vfs.0.1
> 
> 
> 
> ------------------------------
> 
> Message: 6
> Date: Tue,  7 Dec 2021 17:50:51 -0800
> From: Jie Zhou <jizh@linux.microsoft.com>
> To: dev@dpdk.org
> Cc: dmitry.kozliuk@gmail.com, bruce.richardson@intel.com,
> 	roretzla@microsoft.com, navasile@linux.microsoft.com,
> 	dmitrym@microsoft.com, pallavi.kadam@intel.com,
> talshn@nvidia.com,
> 	thomas@monjalon.net, aconole@redhat.com
> Subject: [PATCH v13 00/11] app/test: enable subset of tests on Windows
> Message-ID:
> 	<1638928262-13177-1-git-send-email-jizh@linux.microsoft.com>
> 
> The goal of this patchset is to enable unit tests in CI for Windows.
> It mainly contains:
> - Replace POSIX specific codes
> - Fix some lib and tests per failures investigation
> - Add test stubs for not yet supported ones on Windows
> - Replace .sh script with .py script for meson.build
> - Enable build and run subset of unit tests on Windows
> 
> Future work:
> - Work with CI lab to onboard unit tests for Windows to catch regression
> - Investigate issues hit at CI onboarding
> - Enable more tests
> 
> ---
> V2 changes:
>     - Fix compilation error on FreeBSD
>     - Fix email mismatch issue
>     - Add a missing space around "*"
> 
> ---
> V3 changes:
>     - Fix a misc c coding style issue
>     - Revise some commit title and message body
>     - Fix violations of PEP8 in new added Python scripts
>     - Add error handling in get_coremask.py
>     - Fix has_hugepage.py to check system support of hugepages
>       instead of checking privileges
>     - Fix test meson.build to run Python scripts using py3
>     - Consolidate lists of source files, test dep, etc. across all
>       platforms, with conditional extending on some platform(s)
> 
> ---
> V4 changes:
>     - Remove building of ip_frag, rib, and reorder libraries on Windows.
>       These three libs usually can be built on Windows without change.
>       However, in between the time of V3 and V4, there is regression in
>       upstream caused build failures of these three libs. Will separately
>       investigate and enable these libraries.
> 
>     - Remove previous patch#2 (Enable mempool/stack on Windows) from this
>       patchset as it was separated out and merged as patch-19314.
> 
>     - Consolidate the source files, deps, tests lists across platforms as
>       much as possible.
> 
> ---
> V5 changes:
>     - Remove a space between function name and open parenthesis '('
>     - Add back a header mistakenly deleted
> 
> ---
> V6 changes:
>    - Fix inconsistent static vs. non-static declarations
> 
> ---
> V7 changes:
>    - Remove get_coremask.py as it is not needed any more in meson.build
>    - Remove enablement of efd and lpm and their corresponding unit tests.
>      The enablement of these two libs and their UTs will be in separate
>      patches after this patch set.
> 
> V8 changes:
>    - Fix coding style issue of using C99 // comments
> 
> ---
> V9 changes:
>    - Fix has_hugepage.py with adding failure handling on Linux, using
>      proper variable name to follow Python convention, and removing
>      unnecessary comment.
>    - Enable previously skipped test_cmdline_socket_fns test cases
>    - Revise title and message, and add Fixes info for current Patch#3
>    - Combine 2 patches (previous #2 and #3 in V8) into one and with
>      more detailed message
> 
> ---
> V10 changes:
>    - Fix indentation
> 
> ---
> V11 changes:
>    - Remove mandatory dependency on bitratestats, latencystats,
>      and metrics libs in test meson.build, which was reintroduced
>      at rebase in V9.
> 
> ---
> V12 changes:
>    - Remove unnecessary print of a null string
>    - Enable several previous disabled tests
>    - Split Patch#9 in V11 into two patches for better structure
>    - Reorder some of the patches for better structure
>    - Document more details in commit message for issue tracking
> 
> ---
> V13 changes:
>    - Fix misc coding style issue
>    - Fix build issue on Ubuntu 18.04
> 
> Tested-by: Pallavi Kadam <pallavi.kadam@intel.com>
> 
> Jie Zhou (11):
>   eal/windows: return ENOTSUP for not supported API
>   app/test: remove POSIX-specific code
>   app/test: fix incorrect errno variable
>   app/test: skip interrupt tests on Windows
>   app/test: skip two logs_autotest cases on Windows
>   app/test: differentiate a strerror on different OS
>   app/test: remove two alarm_autotest cases
>   app/test: resolve name collision
>   app/test: add test stubs for not supported ones
>   app/test: replace .sh script with .py script
>   app/test: enable unit test on Windows
> 
>  app/test/commands.c                      |   2 -
>  app/test/has-hugepage.sh                 |  11 ---
>  app/test/has_hugepage.py                 |  26 ++++++
>  app/test/meson.build                     | 113 ++++++++++++-----------
>  app/test/packet_burst_generator.c        |   1 +
>  app/test/process.h                       |   4 +-
>  app/test/test.c                          |   5 +-
>  app/test/test_acl.c                      |  12 +++
>  app/test/test_alarm.c                    |   4 +
>  app/test/test_bpf.c                      |  15 ++-
>  app/test/test_byteorder.c                |   2 +-
>  app/test/test_cmdline_ipaddr.c           |  13 ++-
>  app/test/test_cmdline_lib.c              |  13 ++-
>  app/test/test_crc.c                      |   1 -
>  app/test/test_cryptodev.c                |   4 +
>  app/test/test_cryptodev_asym.c           |   4 +
>  app/test/test_cryptodev_blockcipher.c    |   4 +
>  app/test/test_cryptodev_security_ipsec.c |   4 +
>  app/test/test_cryptodev_security_pdcp.c  |   4 +
>  app/test/test_debug.c                    |  17 +++-
>  app/test/test_distributor.c              |  13 +++
>  app/test/test_distributor_perf.c         |  13 +++
>  app/test/test_eal_flags.c                |  90 ++++++++++++++++++
>  app/test/test_eal_fs.c                   |  12 +++
>  app/test/test_efd.c                      |  15 ++-
>  app/test/test_efd_perf.c                 |  16 +++-
>  app/test/test_errno.c                    |  12 ++-
>  app/test/test_event_crypto_adapter.c     |  15 ++-
>  app/test/test_event_eth_rx_adapter.c     |  25 ++++-
>  app/test/test_event_eth_tx_adapter.c     |  12 +++
>  app/test/test_event_ring.c               |  16 +++-
>  app/test/test_event_timer_adapter.c      |  16 +++-
>  app/test/test_eventdev.c                 |  20 +++-
>  app/test/test_external_mem.c             |  18 +++-
>  app/test/test_fib.c                      |  22 ++++-
>  app/test/test_fib6.c                     |  24 ++++-
>  app/test/test_fib6_perf.c                |  16 +++-
>  app/test/test_fib_perf.c                 |  15 ++-
>  app/test/test_flow_classify.c            |  13 +++
>  app/test/test_func_reentrancy.c          |  12 +++
>  app/test/test_graph.c                    |  18 +++-
>  app/test/test_graph_perf.c               |  16 +++-
>  app/test/test_hash_perf.c                |  28 ++++--
>  app/test/test_interrupts.c               |  10 ++
>  app/test/test_ipfrag.c                   |  16 +++-
>  app/test/test_ipsec.c                    |  15 ++-
>  app/test/test_ipsec_perf.c               |  15 ++-
>  app/test/test_ipsec_sad.c                |  14 ++-
>  app/test/test_kni.c                      |  10 +-
>  app/test/test_lcores.c                   |  12 +++
>  app/test/test_logs.c                     |   6 +-
>  app/test/test_lpm.c                      |  14 ++-
>  app/test/test_lpm6.c                     |  14 ++-
>  app/test/test_lpm6_perf.c                |  14 ++-
>  app/test/test_lpm_perf.c                 |  13 ++-
>  app/test/test_malloc.c                   |  20 ++--
>  app/test/test_mbuf.c                     |  15 ++-
>  app/test/test_member.c                   |  16 +++-
>  app/test/test_member_perf.c              |  16 +++-
>  app/test/test_memcpy_perf.c              |  30 +++---
>  app/test/test_memory.c                   |   2 +-
>  app/test/test_mp_secondary.c             |  12 +++
>  app/test/test_pie.c                      |  30 +++++-
>  app/test/test_pmd_perf.c                 |   6 +-
>  app/test/test_rawdev.c                   |  17 +++-
>  app/test/test_rcu_qsbr_perf.c            |  12 +++
>  app/test/test_red.c                      |  29 +++++-
>  app/test/test_reorder.c                  |  15 ++-
>  app/test/test_rib.c                      |  22 ++++-
>  app/test/test_rib6.c                     |  22 ++++-
>  app/test/test_ring_stress_impl.h         |   2 +-
>  app/test/test_sched.c                    |  14 ++-
>  app/test/test_security.c                 |   4 +-
>  app/test/test_table.c                    |  13 +++
>  app/test/test_table_acl.c                |   3 +
>  app/test/test_table_combined.c           |   4 +
>  app/test/test_table_pipeline.c           |   4 +
>  app/test/test_table_ports.c              |   4 +
>  app/test/test_table_tables.c             |   4 +
>  app/test/test_telemetry_data.c           |   2 +
>  app/test/test_timer_secondary.c          |  13 +++
>  app/test/test_trace.c                    |  32 ++++++-
>  lib/eal/common/eal_common_errno.c        |   4 +
>  lib/eal/windows/eal_memalloc.c           |   6 +-
>  84 files changed, 1058 insertions(+), 184 deletions(-)
>  delete mode 100755 app/test/has-hugepage.sh
>  create mode 100644 app/test/has_hugepage.py
> 
> --
> 2.31.0.vfs.0.1
> 
> 
> 
> End of dev Digest, Vol 381, Issue 38
> ************************************

       reply	other threads:[~2021-12-13 15:41 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <mailman.6600.1638928267.5855.dev@dpdk.org>
2021-12-13 15:41 ` McDaniel, Timothy [this message]
2022-01-17 18:36   ` Thomas Monjalon

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=SN6PR11MB3103EF3B72CB8319452E2C0E9E749@SN6PR11MB3103.namprd11.prod.outlook.com \
    --to=timothy.mcdaniel@intel.com \
    --cc=dev@dpdk.org \
    /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).