From patchwork Fri Jun 23 15:07:00 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 128964 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id E784742D31; Fri, 23 Jun 2023 17:07:40 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D271042BAC; Fri, 23 Jun 2023 17:07:38 +0200 (CEST) Received: from mga06.intel.com (mga06b.intel.com [134.134.136.31]) by mails.dpdk.org (Postfix) with ESMTP id 74900406B8 for ; Fri, 23 Jun 2023 17:07:35 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1687532855; x=1719068855; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=77IEsb4gc3hT6MGEJHOJwSRExxQuRbkrAC8Lli8xkY0=; b=gD70PmwDCCCjh9YQ1a9GzuC+sUHf64g6CJ0aD3b9PwBluAZmh9DJCP87 7s3A2tWDSzZy1TQKW7E74f7sHraRA4cZ1j+r7rh7ofPAg2JeJUPnaDJrQ IGHkuzypooFaA/ks7NuQ7mqFgufNTl2lFh3zbQ2hPu/ZaX+4MstsuwLrw +j/1hEMX98OBTgFbR/dLUzzUTh2cbKm7APSdEkW4+kIXANwafxIFg3EZS yn4WnqS+lTVhSHw4HSwFzgcs7bmQ0t6fCEisScmZX26VOECdDY0mXJMhb 8FP05qS3c0uMxtKFKLD4Orsyg91rbvOKZ2gWVgrzMZbCjbOFL+rHQG+ls Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10750"; a="424467905" X-IronPort-AV: E=Sophos;i="6.01,152,1684825200"; d="scan'208";a="424467905" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Jun 2023 08:07:21 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10750"; a="692697220" X-IronPort-AV: E=Sophos;i="6.01,152,1684825200"; d="scan'208";a="692697220" Received: from silpixa00401385.ir.intel.com ([10.237.214.14]) by orsmga006.jf.intel.com with ESMTP; 23 Jun 2023 08:07:20 -0700 From: Bruce Richardson To: dev@dpdk.org Cc: Bruce Richardson , Jerin Jacob Subject: [PATCH v4 1/9] examples/l3fwd: make eventdev an optional dependency Date: Fri, 23 Jun 2023 16:07:00 +0100 Message-Id: <20230623150708.2203918-2-bruce.richardson@intel.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230623150708.2203918-1-bruce.richardson@intel.com> References: <20230622134840.3225975-1-bruce.richardson@intel.com> <20230623150708.2203918-1-bruce.richardson@intel.com> MIME-Version: 1.0 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 With l3fwd being a very commonly used example app, and built as part of our CI tests, we need to ensure it's buildable with just about all supported DPDK configurations. To enable l3fwd application to be built when the eventdev library is disabled, we need to compile in the eventdev support conditionally. Thankfully, the eventdev support is pretty self-contained, with only the main.c file having more than a couple of ifdefs. Signed-off-by: Bruce Richardson --- examples/l3fwd/l3fwd_em.c | 2 + examples/l3fwd/l3fwd_em_hlm.h | 2 + examples/l3fwd/l3fwd_event.c | 2 + examples/l3fwd/l3fwd_event.h | 7 ++- examples/l3fwd/l3fwd_event_generic.c | 2 + examples/l3fwd/l3fwd_event_internal_port.c | 2 + examples/l3fwd/l3fwd_fib.c | 2 + examples/l3fwd/l3fwd_lpm.c | 2 + examples/l3fwd/main.c | 65 +++++++++++++++++----- examples/l3fwd/meson.build | 5 +- 10 files changed, 74 insertions(+), 17 deletions(-) diff --git a/examples/l3fwd/l3fwd_em.c b/examples/l3fwd/l3fwd_em.c index 476ac0c54f..40e102b38a 100644 --- a/examples/l3fwd/l3fwd_em.c +++ b/examples/l3fwd/l3fwd_em.c @@ -663,6 +663,7 @@ em_main_loop(__rte_unused void *dummy) return 0; } +#ifdef RTE_LIB_EVENTDEV static __rte_always_inline void em_event_loop_single(struct l3fwd_event_resources *evt_rsrc, const uint8_t flags) @@ -959,6 +960,7 @@ em_event_main_loop_tx_q_burst_vector(__rte_unused void *dummy) em_event_loop_vector(evt_rsrc, L3FWD_EVENT_TX_ENQ); return 0; } +#endif /* Initialize exact match (hash) parameters. 8< */ void diff --git a/examples/l3fwd/l3fwd_em_hlm.h b/examples/l3fwd/l3fwd_em_hlm.h index 2e11eefad7..31cda9ddc1 100644 --- a/examples/l3fwd/l3fwd_em_hlm.h +++ b/examples/l3fwd/l3fwd_em_hlm.h @@ -255,6 +255,7 @@ l3fwd_em_send_packets(int nb_rx, struct rte_mbuf **pkts_burst, uint16_t portid, send_packets_multi(qconf, pkts_burst, dst_port, nb_rx); } +#ifdef RTE_LIB_EVENTDEV /* * Buffer optimized handling of events, invoked * from main_loop. @@ -347,5 +348,6 @@ l3fwd_em_process_event_vector(struct rte_event_vector *vec, process_event_vector(vec, dst_port); } +#endif /* RTE_LIB_EVENTDEV */ #endif /* __L3FWD_EM_HLM_H__ */ diff --git a/examples/l3fwd/l3fwd_event.c b/examples/l3fwd/l3fwd_event.c index 32906ab08d..d72a4138cc 100644 --- a/examples/l3fwd/l3fwd_event.c +++ b/examples/l3fwd/l3fwd_event.c @@ -2,6 +2,7 @@ * Copyright(C) 2019 Marvell International Ltd. */ +#ifdef RTE_LIB_EVENTDEV #include #include @@ -341,3 +342,4 @@ l3fwd_event_worker_cleanup(uint8_t event_d_id, uint8_t event_p_id, rte_event_port_quiesce(event_d_id, event_p_id, l3fwd_event_port_flush, NULL); } +#endif /* #ifdef RTE_LIB_EVENTDEV */ diff --git a/examples/l3fwd/l3fwd_event.h b/examples/l3fwd/l3fwd_event.h index e21817c36b..1fd6fe4a78 100644 --- a/examples/l3fwd/l3fwd_event.h +++ b/examples/l3fwd/l3fwd_event.h @@ -6,11 +6,13 @@ #define __L3FWD_EVENTDEV_H__ #include +#include +#include + +#ifdef RTE_LIB_EVENTDEV #include #include #include -#include -#include #include "l3fwd.h" @@ -164,4 +166,5 @@ void l3fwd_event_worker_cleanup(uint8_t event_d_id, uint8_t event_p_id, struct rte_event events[], uint16_t nb_enq, uint16_t nb_deq, uint8_t is_vector); +#endif /* ifdef RTE_LIB_EVENTDEV */ #endif /* __L3FWD_EVENTDEV_H__ */ diff --git a/examples/l3fwd/l3fwd_event_generic.c b/examples/l3fwd/l3fwd_event_generic.c index c80573fc58..ddb6e5c38d 100644 --- a/examples/l3fwd/l3fwd_event_generic.c +++ b/examples/l3fwd/l3fwd_event_generic.c @@ -2,6 +2,7 @@ * Copyright(C) 2019 Marvell International Ltd. */ +#ifdef RTE_LIB_EVENTDEV #include #include "l3fwd.h" @@ -309,3 +310,4 @@ l3fwd_event_set_generic_ops(struct l3fwd_event_setup_ops *ops) ops->event_port_setup = l3fwd_event_port_setup_generic; ops->adapter_setup = l3fwd_rx_tx_adapter_setup_generic; } +#endif /* RTE_LIB_EVENTDEV */ diff --git a/examples/l3fwd/l3fwd_event_internal_port.c b/examples/l3fwd/l3fwd_event_internal_port.c index 32cf657148..cb49a8b9fa 100644 --- a/examples/l3fwd/l3fwd_event_internal_port.c +++ b/examples/l3fwd/l3fwd_event_internal_port.c @@ -2,6 +2,7 @@ * Copyright(C) 2019 Marvell International Ltd. */ +#ifdef RTE_LIB_EVENTDEV #include #include "l3fwd.h" @@ -311,3 +312,4 @@ l3fwd_event_set_internal_port_ops(struct l3fwd_event_setup_ops *ops) ops->event_port_setup = l3fwd_event_port_setup_internal_port; ops->adapter_setup = l3fwd_rx_tx_adapter_setup_internal_port; } +#endif /* RTE_LIB_EVENTDEV */ diff --git a/examples/l3fwd/l3fwd_fib.c b/examples/l3fwd/l3fwd_fib.c index edc0dd69b9..8760016545 100644 --- a/examples/l3fwd/l3fwd_fib.c +++ b/examples/l3fwd/l3fwd_fib.c @@ -253,6 +253,7 @@ fib_main_loop(__rte_unused void *dummy) return 0; } +#ifdef RTE_LIB_EVENTDEV /* One eventdev loop for single and burst using fib. */ static __rte_always_inline void fib_event_loop(struct l3fwd_event_resources *evt_rsrc, @@ -635,6 +636,7 @@ fib_event_main_loop_tx_q_burst_vector(__rte_unused void *dummy) fib_event_loop_vector(evt_rsrc, L3FWD_EVENT_TX_ENQ); return 0; } +#endif /* Function to setup fib. 8< */ void diff --git a/examples/l3fwd/l3fwd_lpm.c b/examples/l3fwd/l3fwd_lpm.c index 4ac1925c84..a484a33089 100644 --- a/examples/l3fwd/l3fwd_lpm.c +++ b/examples/l3fwd/l3fwd_lpm.c @@ -226,6 +226,7 @@ lpm_main_loop(__rte_unused void *dummy) return 0; } +#ifdef RTE_LIB_EVENTDEV static __rte_always_inline uint16_t lpm_process_event_pkt(const struct lcore_conf *lconf, struct rte_mbuf *mbuf) { @@ -554,6 +555,7 @@ lpm_event_main_loop_tx_q_burst_vector(__rte_unused void *dummy) lpm_event_loop_vector(evt_rsrc, L3FWD_EVENT_TX_ENQ); return 0; } +#endif void setup_lpm(const int socketid) diff --git a/examples/l3fwd/main.c b/examples/l3fwd/main.c index a4f061537e..6063eb1399 100644 --- a/examples/l3fwd/main.c +++ b/examples/l3fwd/main.c @@ -135,8 +135,10 @@ static struct rte_eth_conf port_conf = { uint32_t max_pkt_len; -static struct rte_mempool *pktmbuf_pool[RTE_MAX_ETHPORTS][NB_SOCKETS]; +#ifdef RTE_LIB_EVENTDEV static struct rte_mempool *vector_pool[RTE_MAX_ETHPORTS]; +#endif +static struct rte_mempool *pktmbuf_pool[RTE_MAX_ETHPORTS][NB_SOCKETS]; static uint8_t lkp_per_socket[NB_SOCKETS]; struct l3fwd_lkp_mode { @@ -398,8 +400,10 @@ print_usage(const char *prgname) " [--parse-ptype]" " [--per-port-pool]" " [--mode]" +#ifdef RTE_LIB_EVENTDEV " [--eventq-sched]" " [--event-vector [--event-vector-size SIZE] [--event-vector-tmo NS]]" +#endif " [-E]" " [-L]\n\n" @@ -422,6 +426,7 @@ print_usage(const char *prgname) " --per-port-pool: Use separate buffer pool per port\n" " --mode: Packet transfer mode for I/O, poll or eventdev\n" " Default mode = poll\n" +#ifdef RTE_LIB_EVENTDEV " --eventq-sched: Event queue synchronization method\n" " ordered, atomic or parallel.\n" " Default: atomic\n" @@ -432,6 +437,7 @@ print_usage(const char *prgname) " --event-vector: Enable event vectorization.\n" " --event-vector-size: Max vector size if event vectorization is enabled.\n" " --event-vector-tmo: Max timeout to form vector in nanoseconds if event vectorization is enabled\n" +#endif " -E : Enable exact match, legacy flag please use --lookup=em instead\n" " -L : Enable longest prefix match, legacy flag please use --lookup=lpm instead\n" " --rule_ipv4=FILE: Specify the ipv4 rules entries file.\n" @@ -559,14 +565,16 @@ parse_eth_dest(const char *optarg) } static void -parse_mode(const char *optarg) +parse_mode(const char *optarg __rte_unused) { +#ifdef RTE_LIB_EVENTDEV struct l3fwd_event_resources *evt_rsrc = l3fwd_get_eventdev_rsrc(); if (!strcmp(optarg, "poll")) evt_rsrc->enabled = false; else if (!strcmp(optarg, "eventdev")) evt_rsrc->enabled = true; +#endif } static void @@ -601,6 +609,7 @@ parse_queue_size(const char *queue_size_arg, uint16_t *queue_size, int rx) *queue_size = value; } +#ifdef RTE_LIB_EVENTDEV static void parse_eventq_sched(const char *optarg) { @@ -631,6 +640,7 @@ parse_event_eth_rx_queues(const char *eth_rx_queues) evt_rsrc->eth_rx_queues = num_eth_rx_queues; } +#endif static int parse_lookup(const char *optarg) @@ -756,9 +766,11 @@ parse_args(int argc, char **argv) int option_index; char *prgname = argv[0]; uint8_t lcore_params = 0; +#ifdef RTE_LIB_EVENTDEV uint8_t eventq_sched = 0; uint8_t eth_rx_q = 0; struct l3fwd_event_resources *evt_rsrc = l3fwd_get_eventdev_rsrc(); +#endif argvopt = argv; @@ -850,6 +862,7 @@ parse_args(int argc, char **argv) parse_mode(optarg); break; +#ifdef RTE_LIB_EVENTDEV case CMD_LINE_OPT_EVENTQ_SYNC_NUM: parse_eventq_sched(optarg); eventq_sched = 1; @@ -860,6 +873,20 @@ parse_args(int argc, char **argv) eth_rx_q = 1; break; + case CMD_LINE_OPT_ENABLE_VECTOR_NUM: + printf("event vectorization is enabled\n"); + evt_rsrc->vector_enabled = 1; + break; + + case CMD_LINE_OPT_VECTOR_SIZE_NUM: + evt_rsrc->vector_size = strtol(optarg, NULL, 10); + break; + + case CMD_LINE_OPT_VECTOR_TMO_NS_NUM: + evt_rsrc->vector_tmo_ns = strtoull(optarg, NULL, 10); + break; +#endif + case CMD_LINE_OPT_LOOKUP_NUM: if (lookup_mode != L3FWD_LOOKUP_DEFAULT) { fprintf(stderr, "Only one lookup mode is allowed at a time!\n"); @@ -875,16 +902,6 @@ parse_args(int argc, char **argv) return -1; break; - case CMD_LINE_OPT_ENABLE_VECTOR_NUM: - printf("event vectorization is enabled\n"); - evt_rsrc->vector_enabled = 1; - break; - case CMD_LINE_OPT_VECTOR_SIZE_NUM: - evt_rsrc->vector_size = strtol(optarg, NULL, 10); - break; - case CMD_LINE_OPT_VECTOR_TMO_NS_NUM: - evt_rsrc->vector_tmo_ns = strtoull(optarg, NULL, 10); - break; case CMD_LINE_OPT_RULE_IPV4_NUM: l3fwd_set_rule_ipv4_name(optarg); break; @@ -900,6 +917,8 @@ parse_args(int argc, char **argv) } } + RTE_SET_USED(lcore_params); /* needed if no eventdev block */ +#ifdef RTE_LIB_EVENTDEV if (evt_rsrc->enabled && lcore_params) { fprintf(stderr, "lcore config is not valid when event mode is selected\n"); return -1; @@ -927,6 +946,7 @@ parse_args(int argc, char **argv) "vector timeout set to default (%" PRIu64 " ns)\n", evt_rsrc->vector_tmo_ns); } +#endif /* * Nothing is selected, pick longest-prefix match @@ -962,7 +982,9 @@ print_ethaddr(const char *name, const struct rte_ether_addr *eth_addr) int init_mem(uint16_t portid, unsigned int nb_mbuf) { +#ifdef RTE_LIB_EVENTDEV struct l3fwd_event_resources *evt_rsrc = l3fwd_get_eventdev_rsrc(); +#endif struct lcore_conf *qconf; int socketid; unsigned lcore_id; @@ -1007,6 +1029,7 @@ init_mem(uint16_t portid, unsigned int nb_mbuf) } } +#ifdef RTE_LIB_EVENTDEV if (evt_rsrc->vector_enabled && vector_pool[portid] == NULL) { unsigned int nb_vec; @@ -1025,6 +1048,7 @@ init_mem(uint16_t portid, unsigned int nb_mbuf) printf("Allocated vector pool for port %d\n", portid); } +#endif qconf = &lcore_conf[lcore_id]; qconf->ipv4_lookup_struct = @@ -1406,6 +1430,7 @@ l3fwd_service_enable(uint32_t service_id) return 0; } +#ifdef RTE_LIB_EVENTDEV static void l3fwd_event_service_setup(void) { @@ -1458,16 +1483,20 @@ l3fwd_event_service_setup(void) l3fwd_service_enable(service_id); } } +#endif int main(int argc, char **argv) { +#ifdef RTE_LIB_EVENTDEV struct l3fwd_event_resources *evt_rsrc; + int i; +#endif struct lcore_conf *qconf; uint16_t queueid, portid; unsigned int lcore_id; uint8_t queue; - int i, ret; + int ret; /* init EAL */ ret = rte_eal_init(argc, argv); @@ -1487,7 +1516,9 @@ main(int argc, char **argv) *(uint64_t *)(val_eth + portid) = dest_eth_addr[portid]; } +#ifdef RTE_LIB_EVENTDEV evt_rsrc = l3fwd_get_eventdev_rsrc(); +#endif /* parse application arguments (after the EAL ones) */ ret = parse_args(argc, argv); if (ret < 0) @@ -1499,6 +1530,7 @@ main(int argc, char **argv) /* Add the config file rules */ l3fwd_lkp.read_config_files(); +#ifdef RTE_LIB_EVENTDEV evt_rsrc->per_port_pool = per_port_pool; evt_rsrc->pkt_pool = pktmbuf_pool; evt_rsrc->vec_pool = vector_pool; @@ -1514,6 +1546,7 @@ main(int argc, char **argv) l3fwd_lkp.main_loop = evt_rsrc->ops.lpm_event_loop; l3fwd_event_service_setup(); } else +#endif l3fwd_poll_resource_setup(); /* start ports */ @@ -1562,6 +1595,8 @@ main(int argc, char **argv) ret = 0; /* launch per-lcore init on every lcore */ rte_eal_mp_remote_launch(l3fwd_lkp.main_loop, NULL, CALL_MAIN); + +#ifdef RTE_LIB_EVENTDEV if (evt_rsrc->enabled) { for (i = 0; i < evt_rsrc->rx_adptr.nb_rx_adptr; i++) rte_event_eth_rx_adapter_stop( @@ -1589,7 +1624,9 @@ main(int argc, char **argv) rte_event_dev_stop(evt_rsrc->event_d_id); rte_event_dev_close(evt_rsrc->event_d_id); - } else { + } else +#endif + { rte_eal_mp_wait_lcore(); RTE_ETH_FOREACH_DEV(portid) { diff --git a/examples/l3fwd/meson.build b/examples/l3fwd/meson.build index b40244a941..c25de77bba 100644 --- a/examples/l3fwd/meson.build +++ b/examples/l3fwd/meson.build @@ -7,7 +7,7 @@ # DPDK instance, use 'make' allow_experimental_apis = true -deps += ['acl', 'hash', 'lpm', 'fib', 'eventdev'] +deps += ['acl', 'hash', 'lpm', 'fib'] sources = files( 'l3fwd_acl.c', 'l3fwd_em.c', @@ -18,3 +18,6 @@ sources = files( 'l3fwd_lpm.c', 'main.c', ) +if dpdk_conf.has('RTE_LIB_EVENTDEV') + deps += 'eventdev' +endif From patchwork Fri Jun 23 15:07:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 128965 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id BD1CB42D31; Fri, 23 Jun 2023 17:07:47 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D74AE42C54; Fri, 23 Jun 2023 17:07:39 +0200 (CEST) Received: from mga06.intel.com (mga06b.intel.com [134.134.136.31]) by mails.dpdk.org (Postfix) with ESMTP id 7BEF5427F5 for ; Fri, 23 Jun 2023 17:07:36 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1687532856; x=1719068856; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=FT8vXRH5gVNi1c6FT//BN4oOlG1xnx/ZWIfrK4UL3mY=; b=j0rh/3QML8jLn+p8D7yIVoAaU2a4bNmB4uTadWkrQGAbXY4L8E37WB5y vjYn6AEHvrUmUCAYzZLcJs7ysw76aAr4iuD7azRzbeOW++pV4oLhubPe5 o/gQCKWpWgOYF6P5KVQDYb/4zduTN1ZGpMgEIp8IKg0jzeA0TZ8PSQ9lr 1q0+3IZCzyYF85V6vRouifueGV1pYGi6NOLPBiBKY2mCSZqIL1/OK0Q0D RCHGcdvXmVlqXaJVVWpwOZtStL3zBX0Fv9qb2mEED9rhCeObvmuN89OR3 XdPBeuvN33dC3rCCHwWkZ8v38iRekpYtJ6Bqbmgjp4Tz8pzaC/GXueen1 A==; X-IronPort-AV: E=McAfee;i="6600,9927,10750"; a="424467914" X-IronPort-AV: E=Sophos;i="6.01,152,1684825200"; d="scan'208";a="424467914" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Jun 2023 08:07:23 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10750"; a="692697237" X-IronPort-AV: E=Sophos;i="6.01,152,1684825200"; d="scan'208";a="692697237" Received: from silpixa00401385.ir.intel.com ([10.237.214.14]) by orsmga006.jf.intel.com with ESMTP; 23 Jun 2023 08:07:22 -0700 From: Bruce Richardson To: dev@dpdk.org Cc: Bruce Richardson , Timothy McDaniel Subject: [PATCH v4 2/9] event/dlb2: skip configuration if no eventdev lib Date: Fri, 23 Jun 2023 16:07:01 +0100 Message-Id: <20230623150708.2203918-3-bruce.richardson@intel.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230623150708.2203918-1-bruce.richardson@intel.com> References: <20230622134840.3225975-1-bruce.richardson@intel.com> <20230623150708.2203918-1-bruce.richardson@intel.com> MIME-Version: 1.0 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 While the build system will skip building most libs and drivers when a dependency is missing for a component, for DLB2 driver, the "static_rte_eventdev" object is referenced inside the meson.build file itself, which will cause crashes if it doesn't exist i.e. if eventdev is disabled. Prevent this issue by skipping processing the file if no eventdev. [The build system will still report missing dependency, as the dependency is set by default for all eventdev drivers] Signed-off-by: Bruce Richardson --- drivers/event/dlb2/meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/event/dlb2/meson.build b/drivers/event/dlb2/meson.build index 515d1795fe..8cede61593 100644 --- a/drivers/event/dlb2/meson.build +++ b/drivers/event/dlb2/meson.build @@ -7,7 +7,7 @@ if not is_linux or not dpdk_conf.has('RTE_ARCH_X86_64') subdir_done() endif -if dpdk_conf.get('RTE_IOVA_IN_MBUF') == 0 +if dpdk_conf.get('RTE_IOVA_IN_MBUF') == 0 or not dpdk_conf.has('RTE_LIB_EVENTDEV') subdir_done() endif From patchwork Fri Jun 23 15:07:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 128967 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0FFEB42D31; Fri, 23 Jun 2023 17:08:00 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 05C7442D17; Fri, 23 Jun 2023 17:07:42 +0200 (CEST) Received: from mga06.intel.com (mga06b.intel.com [134.134.136.31]) by mails.dpdk.org (Postfix) with ESMTP id 19E3C427F5 for ; Fri, 23 Jun 2023 17:07:36 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1687532859; x=1719068859; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=T5c1FJfaulogAzmqnphkNcQwO9Mv2XtzpCkBdL0hs+w=; b=k2qWdrZQ/YlQvwelSdoD0uHtZaYy/N+V43He2eG3ZOq5ROLBTXwNQoFO dXoor+AFUN7akLe0rfqoQey6i06weIhzlAR+9D7VoZx4i70sN0gxRLnDc 6PKAxpWkyb8PgHH6SnKzHNqbKAv48Ii4FOG7PVpNGf55CzGhJ1DIoi70P y/75A1XEVYssW5NjN26nt5BaTeRWdf60r+hX3WisgS3xTrlhUCkp8aG+T cvCG+qqGb4SShVKeOm1goPtQT79chV5Q0ReIkin5XhBNpGNGOatFt3Q14 XZ1yZzNlqGmpHAJcUy5gK8vDuOUgoERLl1TkwWWQnOBdDiYPGjwRyV4eU A==; X-IronPort-AV: E=McAfee;i="6600,9927,10750"; a="424467927" X-IronPort-AV: E=Sophos;i="6.01,152,1684825200"; d="scan'208";a="424467927" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Jun 2023 08:07:24 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10750"; a="692697245" X-IronPort-AV: E=Sophos;i="6.01,152,1684825200"; d="scan'208";a="692697245" Received: from silpixa00401385.ir.intel.com ([10.237.214.14]) by orsmga006.jf.intel.com with ESMTP; 23 Jun 2023 08:07:23 -0700 From: Bruce Richardson To: dev@dpdk.org Cc: Bruce Richardson , =?utf-8?q?Morten_Br=C3=B8?= =?utf-8?q?rup?= Subject: [PATCH v4 3/9] build: make most device classes optional Date: Fri, 23 Jun 2023 16:07:02 +0100 Message-Id: <20230623150708.2203918-4-bruce.richardson@intel.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230623150708.2203918-1-bruce.richardson@intel.com> References: <20230622134840.3225975-1-bruce.richardson@intel.com> <20230623150708.2203918-1-bruce.richardson@intel.com> MIME-Version: 1.0 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 Apart from ethdev and cryptodev, which have lots of components and tests which depend on them, we can make the device class libraries optional without too much work. This patch marks: * bbdev, * compressdev, * dmadev, * eventdev, * mldev, * rawdev, * regexdev optional, and ensures that DPDK - including tests - can be built with these components disabled. Signed-off-by: Bruce Richardson Acked-by: Morten Brørup --- app/test/meson.build | 41 ++++++++++++++++++++++++++--------------- lib/meson.build | 7 +++++++ 2 files changed, 33 insertions(+), 15 deletions(-) diff --git a/app/test/meson.build b/app/test/meson.build index 3e0a2360a3..ad7be379b0 100644 --- a/app/test/meson.build +++ b/app/test/meson.build @@ -41,19 +41,12 @@ test_sources = files( 'test_devargs.c', 'test_distributor.c', 'test_distributor_perf.c', - 'test_dmadev.c', - 'test_dmadev_api.c', 'test_eal_flags.c', 'test_eal_fs.c', 'test_efd.c', 'test_efd_perf.c', 'test_errno.c', 'test_ethdev_link.c', - 'test_event_crypto_adapter.c', - 'test_event_eth_rx_adapter.c', - 'test_event_ring.c', - 'test_event_timer_adapter.c', - 'test_eventdev.c', 'test_external_mem.c', 'test_fbarray.c', 'test_fib.c', @@ -103,7 +96,6 @@ test_sources = files( 'test_power_intel_uncore.c', 'test_prefetch.c', 'test_rand_perf.c', - 'test_rawdev.c', 'test_rcu_qsbr.c', 'test_rcu_qsbr_perf.c', 'test_reciprocal_division.c', @@ -127,7 +119,6 @@ test_sources = files( 'test_sched.c', 'test_security.c', 'test_security_inline_macsec.c', - 'test_security_inline_proto.c', 'test_seqlock.c', 'test_service_cores.c', 'test_spinlock.c', @@ -186,7 +177,6 @@ fast_tests = [ ['eal_fs_autotest', true, true], ['errno_autotest', true, true], ['ethdev_link_status', true, true], - ['event_ring_autotest', true, true], ['fib_autotest', true, true], ['fib6_autotest', true, true], ['func_reentrancy_autotest', false, true], @@ -232,7 +222,6 @@ fast_tests = [ ['version_autotest', true, true], ['crc_autotest', true, true], ['distributor_autotest', false, true], - ['eventdev_common_autotest', true, true], ['fbarray_autotest', true, true], ['hash_readwrite_func_autotest', false, true], ['ipsec_autotest', true, true], @@ -319,7 +308,6 @@ driver_test_names = [ 'cryptodev_sw_snow3g_autotest', 'cryptodev_sw_zuc_autotest', 'cryptodev_uadk_autotest', - 'dmadev_autotest', ] dump_test_names = [] @@ -357,6 +345,25 @@ if dpdk_conf.has('RTE_EVENT_SKELETON') test_deps += 'event_skeleton' endif +if dpdk_conf.has('RTE_LIB_DMADEV') + test_sources += ['test_dmadev.c', 'test_dmadev_api.c'] + driver_test_names += 'dmadev_autotest' +endif +if dpdk_conf.has('RTE_LIB_EVENTDEV') + test_sources += [ + 'test_event_eth_rx_adapter.c', + 'test_event_ring.c', + 'test_event_timer_adapter.c', + 'test_eventdev.c', + ] + fast_tests += [ + ['event_ring_autotest', true, true], + ['eventdev_common_autotest', true, true], + ] + if dpdk_conf.has('RTE_LIB_CRYPTODEV') + test_sources += 'test_event_crypto_adapter.c' + endif +endif if dpdk_conf.has('RTE_LIB_FLOW_CLASSIFY') test_sources += 'test_flow_classify.c' fast_tests += [['flow_classify_autotest', false, true]] @@ -402,15 +409,18 @@ if dpdk_conf.has('RTE_NET_BOND') driver_test_names += 'link_bonding_mode4_autotest' endif endif -if dpdk_conf.has('RTE_LIB_EVENTDEV') and dpdk_conf.has('RTE_NET_RING') +if dpdk_conf.has('RTE_NET_RING') test_deps += 'net_ring' test_sources += 'test_pmd_ring_perf.c' test_sources += 'test_pmd_ring.c' - test_sources += 'test_event_eth_tx_adapter.c' test_sources += 'sample_packet_forward.c' fast_tests += [['ring_pmd_autotest', true, true]] perf_test_names += 'ring_pmd_perf_autotest' - fast_tests += [['event_eth_tx_adapter_autotest', false, true]] + if dpdk_conf.has('RTE_LIB_EVENTDEV') + test_sources += 'test_event_eth_tx_adapter.c' + test_sources += 'test_security_inline_proto.c' + fast_tests += [['event_eth_tx_adapter_autotest', false, true]] + endif if dpdk_conf.has('RTE_LIB_BITRATESTATS') test_sources += 'test_bitratestats.c' fast_tests += [['bitratestats_autotest', true, true]] @@ -430,6 +440,7 @@ if dpdk_conf.has('RTE_NET_NULL') fast_tests += [['vdev_autotest', true, true]] endif if dpdk_conf.has('RTE_RAW_SKELETON') + test_sources += 'test_rawdev.c' test_deps += 'raw_skeleton' fast_tests += [['rawdev_autotest', true, true]] endif diff --git a/lib/meson.build b/lib/meson.build index fac2f52cad..98a0672a04 100644 --- a/lib/meson.build +++ b/lib/meson.build @@ -68,8 +68,12 @@ libraries = [ ] optional_libs = [ + 'bbdev', 'bitratestats', 'cfgfile', + 'compressdev', + 'dmadev', + 'eventdev', 'flow_classify', 'gpudev', 'graph', @@ -79,11 +83,14 @@ optional_libs = [ 'jobstats', 'latencystats', 'metrics', + 'mldev', 'node', 'pdump', 'pipeline', 'port', 'power', + 'rawdev', + 'regexdev', 'table', 'vhost', ] From patchwork Fri Jun 23 15:07:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 128966 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id DDE9E42D31; Fri, 23 Jun 2023 17:07:53 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id DF8BB42D0C; Fri, 23 Jun 2023 17:07:40 +0200 (CEST) Received: from mga06.intel.com (mga06b.intel.com [134.134.136.31]) by mails.dpdk.org (Postfix) with ESMTP id 3F8C741133 for ; Fri, 23 Jun 2023 17:07:37 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1687532859; x=1719068859; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=EIn1vio0kfPntMoy/OhAx1owgnHlVUSbcNoAFg3ZZyc=; b=fT1qAa46GsWEj+yCoSjws6jGVYGECqHr8vTrJwZUxx35vCCJqhHpV5F1 5N0UqcLCxsVO4AoZTLs7kHEbPZIQy6RkbjM9yCFAQCY4paGxbyqjFlczX NzGEc8/EpSYEtFaNgtX1/6O+qHvBoLttj0AeJyYvTjKHilANDeDT+KpgQ hhSnfKD56ACLzr4mXMJGV03TMo1cZlX35DuUkmkd+nUScDpTuv/oP4/un NHwp4uB0cIVKnXwh+ih/ufmFUsZ77Cek4BS8Ox5Z4qS2XkAUa6mLY1CeT HlT4swwyEAjjCLw0aM2Wtd6Tmc0YjcAwtBrus2nTtRxYq9vEznOSWDbWx w==; X-IronPort-AV: E=McAfee;i="6600,9927,10750"; a="424467944" X-IronPort-AV: E=Sophos;i="6.01,152,1684825200"; d="scan'208";a="424467944" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Jun 2023 08:07:26 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10750"; a="692697257" X-IronPort-AV: E=Sophos;i="6.01,152,1684825200"; d="scan'208";a="692697257" Received: from silpixa00401385.ir.intel.com ([10.237.214.14]) by orsmga006.jf.intel.com with ESMTP; 23 Jun 2023 08:07:25 -0700 From: Bruce Richardson To: dev@dpdk.org Cc: Bruce Richardson , =?utf-8?q?Morten_Br=C3=B8?= =?utf-8?q?rup?= Subject: [PATCH v4 4/9] build: make membership library optional Date: Fri, 23 Jun 2023 16:07:03 +0100 Message-Id: <20230623150708.2203918-5-bruce.richardson@intel.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230623150708.2203918-1-bruce.richardson@intel.com> References: <20230622134840.3225975-1-bruce.richardson@intel.com> <20230623150708.2203918-1-bruce.richardson@intel.com> MIME-Version: 1.0 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 This library is not essential for most DPDK uses, so mark it as optional in the build config. Signed-off-by: Bruce Richardson Acked-by: Morten Brørup --- app/test/meson.build | 9 +++++---- lib/meson.build | 1 + 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/app/test/meson.build b/app/test/meson.build index ad7be379b0..0f9992c0b2 100644 --- a/app/test/meson.build +++ b/app/test/meson.build @@ -76,8 +76,6 @@ test_sources = files( 'test_malloc.c', 'test_malloc_perf.c', 'test_mbuf.c', - 'test_member.c', - 'test_member_perf.c', 'test_memcpy.c', 'test_memcpy_perf.c', 'test_memory.c', @@ -227,7 +225,6 @@ fast_tests = [ ['ipsec_autotest', true, true], ['kni_autotest', false, true], ['kvargs_autotest', true, true], - ['member_autotest', true, true], ['power_cpufreq_autotest', false, true], ['power_autotest', true, true], ['power_kvm_vm_autotest', false, true], @@ -265,7 +262,6 @@ perf_test_names = [ 'timer_racecond_autotest', 'efd_autotest', 'hash_functions_autotest', - 'member_perf_autotest', 'efd_perf_autotest', 'lpm6_perf_autotest', 'rib6_slow_autotest', @@ -379,6 +375,11 @@ if dpdk_conf.has('RTE_LIB_METRICS') test_sources += ['test_metrics.c'] fast_tests += [['metrics_autotest', true, true]] endif +if dpdk_conf.has('RTE_LIB_MEMBER') + test_sources += ['test_member.c', 'test_member_perf.c'] + fast_tests += [['member_autotest', true, true]] + perf_test_names += 'member_perf_autotest' +endif if not is_windows and dpdk_conf.has('RTE_LIB_TELEMETRY') test_sources += ['test_telemetry_json.c', 'test_telemetry_data.c'] fast_tests += [['telemetry_json_autotest', true, true]] diff --git a/lib/meson.build b/lib/meson.build index 98a0672a04..de7069a078 100644 --- a/lib/meson.build +++ b/lib/meson.build @@ -82,6 +82,7 @@ optional_libs = [ 'kni', 'jobstats', 'latencystats', + 'member', 'metrics', 'mldev', 'node', From patchwork Fri Jun 23 15:07:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 128968 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2DBA742D31; Fri, 23 Jun 2023 17:08:09 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7281142D3A; Fri, 23 Jun 2023 17:07:44 +0200 (CEST) Received: from mga06.intel.com (mga06b.intel.com [134.134.136.31]) by mails.dpdk.org (Postfix) with ESMTP id 98EE842BFE for ; Fri, 23 Jun 2023 17:07:37 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1687532859; x=1719068859; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=wnWUAk6ppaOemp/rnSEcomYQYfg0oNNyDll/+wIkV0I=; b=Y34dwxzXx44ymKg3qeXW7FkpjCRRPUa6WdUG4zO4ZuGsoxMAin6gXsG4 uHRx+f4cSV0ZdvaHH9OyJlO17/D1RuqM1GevkF2roc5rhQbRK9Yr+tXLJ tr2IpHyxXBOysToM9zooKktJHW8YFIUJSomT+l+fLcF3336ExNxLdS0VP B3DM0XX40mayq5z+niZeH2OnIqgXHUFONVuxjwcmNe5dzFOIC/TIIA/5q PuuY1QpPFo+1TBVCOGPAr9WMUvIoze5ADdBMtRf63SHQ0FWDc/wwdlypN SSKl//GOQlWRfHalOdfB+HSvW6f1waEA9KNwPyPVFAtAdclIUMax6d0v1 g==; X-IronPort-AV: E=McAfee;i="6600,9927,10750"; a="424467955" X-IronPort-AV: E=Sophos;i="6.01,152,1684825200"; d="scan'208";a="424467955" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Jun 2023 08:07:27 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10750"; a="692697275" X-IronPort-AV: E=Sophos;i="6.01,152,1684825200"; d="scan'208";a="692697275" Received: from silpixa00401385.ir.intel.com ([10.237.214.14]) by orsmga006.jf.intel.com with ESMTP; 23 Jun 2023 08:07:26 -0700 From: Bruce Richardson To: dev@dpdk.org Cc: Bruce Richardson , =?utf-8?q?Morten_Br=C3=B8?= =?utf-8?q?rup?= Subject: [PATCH v4 5/9] build: make bpf library optional Date: Fri, 23 Jun 2023 16:07:04 +0100 Message-Id: <20230623150708.2203918-6-bruce.richardson@intel.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230623150708.2203918-1-bruce.richardson@intel.com> References: <20230622134840.3225975-1-bruce.richardson@intel.com> <20230623150708.2203918-1-bruce.richardson@intel.com> MIME-Version: 1.0 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 This library is not essential for most DPDK uses, so mark it as optional in the build config. Signed-off-by: Bruce Richardson Acked-by: Morten Brørup Acked-by: Konstantin Ananyev --- app/test/meson.build | 10 +++++++--- lib/meson.build | 1 + 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/app/test/meson.build b/app/test/meson.build index 0f9992c0b2..0ef0bf690f 100644 --- a/app/test/meson.build +++ b/app/test/meson.build @@ -15,7 +15,6 @@ test_sources = files( 'test_barrier.c', 'test_bitops.c', 'test_bitmap.c', - 'test_bpf.c', 'test_byteorder.c', 'test_cksum.c', 'test_cksum_perf.c', @@ -150,8 +149,6 @@ fast_tests = [ ['acl_autotest', true, true], ['atomic_autotest', false, true], ['bitmap_autotest', true, true], - ['bpf_autotest', true, true], - ['bpf_convert_autotest', true, true], ['bitops_autotest', true, true], ['byteorder_autotest', true, true], ['cksum_autotest', true, true], @@ -341,6 +338,13 @@ if dpdk_conf.has('RTE_EVENT_SKELETON') test_deps += 'event_skeleton' endif +if dpdk_conf.has('RTE_LIB_BPF') + test_sources += 'test_bpf.c' + fast_tests += [ + ['bpf_autotest', true, true], + ['bpf_convert_autotest', true, true], + ] +endif if dpdk_conf.has('RTE_LIB_DMADEV') test_sources += ['test_dmadev.c', 'test_dmadev_api.c'] driver_test_names += 'dmadev_autotest' diff --git a/lib/meson.build b/lib/meson.build index de7069a078..47c18ca3b0 100644 --- a/lib/meson.build +++ b/lib/meson.build @@ -70,6 +70,7 @@ libraries = [ optional_libs = [ 'bbdev', 'bitratestats', + 'bpf', 'cfgfile', 'compressdev', 'dmadev', From patchwork Fri Jun 23 15:07:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 128969 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 6F4F342D31; Fri, 23 Jun 2023 17:08:15 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 82CFD42D40; Fri, 23 Jun 2023 17:07:45 +0200 (CEST) Received: from mga06.intel.com (mga06b.intel.com [134.134.136.31]) by mails.dpdk.org (Postfix) with ESMTP id 2ED89427F5 for ; Fri, 23 Jun 2023 17:07:40 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1687532860; x=1719068860; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=xS/cWiPocu2zyqFnwwAnGYAlKygt5yPDFaKAeUOkX5I=; b=MQhhgJPWpEoMX631r4A5oW1Y1Fvmt5NpUTsvawnDrDYwD4MB2qwIDczP mkrL8r3Txb3CfWvTf3GVGOuEc4uZ4D85kJ33O3RoT73EHViMkM/ZEZT7S VpIgm+9RMU7b6wkEnayudEeTYdNi4v0kDI5PbT63ZFD2XFwUkvtW+SluH EH4QTagcQN8JFwwTB3qFtNAAtZ1wq7nKtAqDsInt+sxCJGWPZMKk8/Irb Yx0wZ4TMR9GsxbzO7zLIehGIqi8QUFJkhQJnta3G1SNvw/gU3L8pOZWta VzmP/i4nkJUmPoSu8fPwLlUl7n9VDmU8ykztzAeS1bBp6OeWhJLfyxqRK Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10750"; a="424467967" X-IronPort-AV: E=Sophos;i="6.01,152,1684825200"; d="scan'208";a="424467967" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Jun 2023 08:07:28 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10750"; a="692697294" X-IronPort-AV: E=Sophos;i="6.01,152,1684825200"; d="scan'208";a="692697294" Received: from silpixa00401385.ir.intel.com ([10.237.214.14]) by orsmga006.jf.intel.com with ESMTP; 23 Jun 2023 08:07:27 -0700 From: Bruce Richardson To: dev@dpdk.org Cc: Bruce Richardson , =?utf-8?q?Morten_Br=C3=B8?= =?utf-8?q?rup?= Subject: [PATCH v4 6/9] build: make efd library optional Date: Fri, 23 Jun 2023 16:07:05 +0100 Message-Id: <20230623150708.2203918-7-bruce.richardson@intel.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230623150708.2203918-1-bruce.richardson@intel.com> References: <20230622134840.3225975-1-bruce.richardson@intel.com> <20230623150708.2203918-1-bruce.richardson@intel.com> MIME-Version: 1.0 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 This library is not essential for most DPDK uses, so mark it as optional in the build config. Signed-off-by: Bruce Richardson Acked-by: Morten Brørup --- app/test/meson.build | 8 ++++---- lib/meson.build | 1 + 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/app/test/meson.build b/app/test/meson.build index 0ef0bf690f..9331603331 100644 --- a/app/test/meson.build +++ b/app/test/meson.build @@ -42,8 +42,6 @@ test_sources = files( 'test_distributor_perf.c', 'test_eal_flags.c', 'test_eal_fs.c', - 'test_efd.c', - 'test_efd_perf.c', 'test_errno.c', 'test_ethdev_link.c', 'test_external_mem.c', @@ -257,9 +255,7 @@ perf_test_names = [ 'barrier_autotest', 'hash_multiwriter_autotest', 'timer_racecond_autotest', - 'efd_autotest', 'hash_functions_autotest', - 'efd_perf_autotest', 'lpm6_perf_autotest', 'rib6_slow_autotest', 'fib6_slow_autotest', @@ -368,6 +364,10 @@ if dpdk_conf.has('RTE_LIB_FLOW_CLASSIFY') test_sources += 'test_flow_classify.c' fast_tests += [['flow_classify_autotest', false, true]] endif +if dpdk_conf.has('RTE_LIB_EFD') + test_sources += ['test_efd.c', 'test_efd_perf.c'] + perf_test_names += ['efd_autotest', 'efd_perf_autotest'] +endif if dpdk_conf.has('RTE_LIB_GRAPH') test_sources += 'test_graph.c' fast_tests += [['graph_autotest', true, true]] diff --git a/lib/meson.build b/lib/meson.build index 47c18ca3b0..07cfdef614 100644 --- a/lib/meson.build +++ b/lib/meson.build @@ -74,6 +74,7 @@ optional_libs = [ 'cfgfile', 'compressdev', 'dmadev', + 'efd', 'eventdev', 'flow_classify', 'gpudev', From patchwork Fri Jun 23 15:07:06 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 128972 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 7DC6942D31; Fri, 23 Jun 2023 17:08:33 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E46C642D4B; Fri, 23 Jun 2023 17:07:48 +0200 (CEST) Received: from mga06.intel.com (mga06b.intel.com [134.134.136.31]) by mails.dpdk.org (Postfix) with ESMTP id 41C0A42D10 for ; Fri, 23 Jun 2023 17:07:42 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1687532862; x=1719068862; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=yIRSjJZo35TtpdZvvMOysgXcObtXWpKUjlmOYe59y4c=; b=Rr5CO4kRXOXLqeMS79Dvzh1cUx8sXxlAk5kVDHDMskQHgK7aO6bEFxdR FTXQhf+s7PUlQV+fhiEBI81go30aj2zioxaETFftNXExCPaR9TPvHpGXk 3t+WrPaud2dBX9ux3/Ot/ie0I8MOH0ZTVnt3b5vOxxsggCpXiJ9Bh+Rvb IXRsJyc8LsKT0WOQQWuFV4j8yGo9wd8HhKOhheFEZG1GlwkpP2pMmzEWC jbTtKN2GLi85FJixpJRAQhROZV+QUWolMsYZ/VfmlUqY4ndcZOhCgdzk0 Ab2QtIdIEe5x82jhfgCeXiFn0F5kyn1xS49XsYz7s1zxoj09MVY/o72MZ A==; X-IronPort-AV: E=McAfee;i="6600,9927,10750"; a="424467980" X-IronPort-AV: E=Sophos;i="6.01,152,1684825200"; d="scan'208";a="424467980" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Jun 2023 08:07:30 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10750"; a="692697329" X-IronPort-AV: E=Sophos;i="6.01,152,1684825200"; d="scan'208";a="692697329" Received: from silpixa00401385.ir.intel.com ([10.237.214.14]) by orsmga006.jf.intel.com with ESMTP; 23 Jun 2023 08:07:29 -0700 From: Bruce Richardson To: dev@dpdk.org Cc: Bruce Richardson , =?utf-8?q?Morten_Br=C3=B8?= =?utf-8?q?rup?= Subject: [PATCH v4 7/9] build: make distributor library optional Date: Fri, 23 Jun 2023 16:07:06 +0100 Message-Id: <20230623150708.2203918-8-bruce.richardson@intel.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230623150708.2203918-1-bruce.richardson@intel.com> References: <20230622134840.3225975-1-bruce.richardson@intel.com> <20230623150708.2203918-1-bruce.richardson@intel.com> MIME-Version: 1.0 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 This library is not essential for most DPDK uses, so mark it as optional in the build config. Signed-off-by: Bruce Richardson Acked-by: Morten Brørup --- app/test/meson.build | 9 +++++---- lib/meson.build | 1 + 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/app/test/meson.build b/app/test/meson.build index 9331603331..0a971997a5 100644 --- a/app/test/meson.build +++ b/app/test/meson.build @@ -38,8 +38,6 @@ test_sources = files( 'test_cycles.c', 'test_debug.c', 'test_devargs.c', - 'test_distributor.c', - 'test_distributor_perf.c', 'test_eal_flags.c', 'test_eal_fs.c', 'test_errno.c', @@ -214,7 +212,6 @@ fast_tests = [ ['user_delay_us', true, true], ['version_autotest', true, true], ['crc_autotest', true, true], - ['distributor_autotest', false, true], ['fbarray_autotest', true, true], ['hash_readwrite_func_autotest', false, true], ['ipsec_autotest', true, true], @@ -263,7 +260,6 @@ perf_test_names = [ 'rcu_qsbr_perf_autotest', 'red_perf', 'pie_perf', - 'distributor_perf_autotest', 'pmd_perf_autotest', 'service_perf_autotest', 'stack_perf_autotest', @@ -364,6 +360,11 @@ if dpdk_conf.has('RTE_LIB_FLOW_CLASSIFY') test_sources += 'test_flow_classify.c' fast_tests += [['flow_classify_autotest', false, true]] endif +if dpdk_conf.has('RTE_LIB_DISTRIBUTOR') + test_sources += ['test_distributor.c', 'test_distributor_perf.c'] + fast_tests += [['distributor_autotest', false, true]] + perf_test_names += 'distributor_perf_autotest' +endif if dpdk_conf.has('RTE_LIB_EFD') test_sources += ['test_efd.c', 'test_efd_perf.c'] perf_test_names += ['efd_autotest', 'efd_perf_autotest'] diff --git a/lib/meson.build b/lib/meson.build index 07cfdef614..757c1a63e9 100644 --- a/lib/meson.build +++ b/lib/meson.build @@ -73,6 +73,7 @@ optional_libs = [ 'bpf', 'cfgfile', 'compressdev', + 'distributor', 'dmadev', 'efd', 'eventdev', From patchwork Fri Jun 23 15:07:07 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 128970 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id D21CD42D31; Fri, 23 Jun 2023 17:08:21 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 982DA42D44; Fri, 23 Jun 2023 17:07:46 +0200 (CEST) Received: from mga06.intel.com (mga06b.intel.com [134.134.136.31]) by mails.dpdk.org (Postfix) with ESMTP id 4CF9142D10 for ; Fri, 23 Jun 2023 17:07:41 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1687532861; x=1719068861; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=wRFirLGPJBqVaAgyqLFrIJPJvymXSWVuoC4maag/dFQ=; b=OwwHMXNt23PMV4BRveR4bGvjf6zvsIw9SRg9HRFwtcEGbzPUtWHnxDvh uxQhBp/3tDwT1DJUHGXI0Wpu68vqxkbiem/QS/qoyS8NkhzGlV4JDnfF/ o92jd3ucqYGPyLcJ40JcRS9A18rNlyohtxKjazkB0VKZsh32OTN+Vdzn/ pV+zYerbVNzza78b0oGYUVAFSd2OPS27qc3wBJ79bMxYNvOz6rCkp0B0F t3o1gdlstugYZW3WgXUeihGlYPZ7+ejJn8/oBKN1Aw/PP/oPhQhD9/3O+ gPffW6UHT1OB7edSyXFeoeeV+PN1TEUdFs4Vx0rxmZN5671XJEaPcJkLY w==; X-IronPort-AV: E=McAfee;i="6600,9927,10750"; a="424467986" X-IronPort-AV: E=Sophos;i="6.01,152,1684825200"; d="scan'208";a="424467986" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Jun 2023 08:07:32 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10750"; a="692697370" X-IronPort-AV: E=Sophos;i="6.01,152,1684825200"; d="scan'208";a="692697370" Received: from silpixa00401385.ir.intel.com ([10.237.214.14]) by orsmga006.jf.intel.com with ESMTP; 23 Jun 2023 08:07:30 -0700 From: Bruce Richardson To: dev@dpdk.org Cc: Bruce Richardson , =?utf-8?q?Morten_Br=C3=B8?= =?utf-8?q?rup?= Subject: [PATCH v4 8/9] build: make fragmentation library optional Date: Fri, 23 Jun 2023 16:07:07 +0100 Message-Id: <20230623150708.2203918-9-bruce.richardson@intel.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230623150708.2203918-1-bruce.richardson@intel.com> References: <20230622134840.3225975-1-bruce.richardson@intel.com> <20230623150708.2203918-1-bruce.richardson@intel.com> MIME-Version: 1.0 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 This library is not essential for most DPDK uses, so mark it as optional in the build config. Signed-off-by: Bruce Richardson Acked-by: Morten Brørup Acked-by: Konstantin Ananyev --- app/test/meson.build | 6 ++++-- lib/meson.build | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/app/test/meson.build b/app/test/meson.build index 0a971997a5..2e447e3402 100644 --- a/app/test/meson.build +++ b/app/test/meson.build @@ -56,7 +56,6 @@ test_sources = files( 'test_hash_perf.c', 'test_hash_readwrite_lf_perf.c', 'test_interrupts.c', - 'test_ipfrag.c', 'test_ipsec.c', 'test_ipsec_sad.c', 'test_ipsec_perf.c', @@ -173,7 +172,6 @@ fast_tests = [ ['func_reentrancy_autotest', false, true], ['hash_autotest', true, true], ['interrupt_autotest', true, true], - ['ipfrag_autotest', false, true], ['lcores_autotest', true, true], ['logs_autotest', true, true], ['lpm_autotest', true, true], @@ -376,6 +374,10 @@ if dpdk_conf.has('RTE_LIB_GRAPH') test_sources += 'test_graph_perf.c' perf_test_names += 'graph_perf_autotest' endif +if dpdk_conf.has('RTE_LIB_IP_FRAG') + test_sources += 'test_ipfrag.c' + fast_tests += [['ipfrag_autotest', false, true]] +endif if dpdk_conf.has('RTE_LIB_METRICS') test_sources += ['test_metrics.c'] fast_tests += [['metrics_autotest', true, true]] diff --git a/lib/meson.build b/lib/meson.build index 757c1a63e9..ea351b236a 100644 --- a/lib/meson.build +++ b/lib/meson.build @@ -83,6 +83,7 @@ optional_libs = [ 'gro', 'gso', 'kni', + 'ip_frag', 'jobstats', 'latencystats', 'member', From patchwork Fri Jun 23 15:07:08 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 128971 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 34BE442D31; Fri, 23 Jun 2023 17:08:28 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B7D9E42D31; Fri, 23 Jun 2023 17:07:47 +0200 (CEST) Received: from mga06.intel.com (mga06b.intel.com [134.134.136.31]) by mails.dpdk.org (Postfix) with ESMTP id 51D6542D20 for ; Fri, 23 Jun 2023 17:07:42 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1687532862; x=1719068862; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=rJmD8E/XOuc50lmTIAIsWL9PJvmUDgitm5LMx4eCOEA=; b=M0Ty1k9+l3hcEmDKAGPsUqT24pMkc6T58PIvioAEtt3EkEE2gzMU3MZ3 PwEeJ58U4k8rqEEc1EIaPcW/beFy/xBOPZ2VYP/6qck8TXhf2FlpPF2nX Kdvvl8hbtX0e0p98dSxkVFS6EUW+EEaH448SF3kNaaL5l3BxFrEzq0OGB 5FE4Zdn909ohnKNDRuRpOcEiem3qYh53rr4/aMkYQBh35D6t7guIgIARV r4dZsmqZSdYGFcxN7a8jYdFpDxRw8dsyZNrm0xciDobr2t5FD0VUbzxXK BNtRiWmkJRSoisL/gLS3JZz+mHdg2z3I424MoaAmBCax5rIQD22RWoYK2 A==; X-IronPort-AV: E=McAfee;i="6600,9927,10750"; a="424467991" X-IronPort-AV: E=Sophos;i="6.01,152,1684825200"; d="scan'208";a="424467991" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Jun 2023 08:07:33 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10750"; a="692697398" X-IronPort-AV: E=Sophos;i="6.01,152,1684825200"; d="scan'208";a="692697398" Received: from silpixa00401385.ir.intel.com ([10.237.214.14]) by orsmga006.jf.intel.com with ESMTP; 23 Jun 2023 08:07:32 -0700 From: Bruce Richardson To: dev@dpdk.org Cc: Bruce Richardson , =?utf-8?q?Morten_Br=C3=B8?= =?utf-8?q?rup?= Subject: [PATCH v4 9/9] build: make reorder library optional Date: Fri, 23 Jun 2023 16:07:08 +0100 Message-Id: <20230623150708.2203918-10-bruce.richardson@intel.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230623150708.2203918-1-bruce.richardson@intel.com> References: <20230622134840.3225975-1-bruce.richardson@intel.com> <20230623150708.2203918-1-bruce.richardson@intel.com> MIME-Version: 1.0 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 This library is not essential for most DPDK uses, so mark it as optional in the build config. Signed-off-by: Bruce Richardson Acked-by: Morten Brørup --- app/test/meson.build | 6 ++++-- lib/meson.build | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/app/test/meson.build b/app/test/meson.build index 2e447e3402..d4b6280658 100644 --- a/app/test/meson.build +++ b/app/test/meson.build @@ -94,7 +94,6 @@ test_sources = files( 'test_reciprocal_division_perf.c', 'test_red.c', 'test_pie.c', - 'test_reorder.c', 'test_rib.c', 'test_rib6.c', 'test_ring.c', @@ -219,7 +218,6 @@ fast_tests = [ ['power_autotest', true, true], ['power_kvm_vm_autotest', false, true], ['power_intel_uncore_autotest', true, true], - ['reorder_autotest', true, true], ['service_autotest', true, true], ['thash_autotest', true, true], ['threads_autotest', true, true], @@ -387,6 +385,10 @@ if dpdk_conf.has('RTE_LIB_MEMBER') fast_tests += [['member_autotest', true, true]] perf_test_names += 'member_perf_autotest' endif +if dpdk_conf.has('RTE_LIB_REORDER') + test_sources += 'test_reorder.c' + fast_tests += [['reorder_autotest', true, true]] +endif if not is_windows and dpdk_conf.has('RTE_LIB_TELEMETRY') test_sources += ['test_telemetry_json.c', 'test_telemetry_data.c'] fast_tests += [['telemetry_json_autotest', true, true]] diff --git a/lib/meson.build b/lib/meson.build index ea351b236a..b46f4e51ff 100644 --- a/lib/meson.build +++ b/lib/meson.build @@ -96,6 +96,7 @@ optional_libs = [ 'power', 'rawdev', 'regexdev', + 'reorder', 'table', 'vhost', ]