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
> ************************************
next parent 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).