From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id D673E4569C for ; Wed, 24 Jul 2024 13:35:23 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C67B0433F4; Wed, 24 Jul 2024 13:35:23 +0200 (CEST) Received: from mail-wr1-f49.google.com (mail-wr1-f49.google.com [209.85.221.49]) by mails.dpdk.org (Postfix) with ESMTP id 1589342D89 for ; Wed, 24 Jul 2024 13:35:22 +0200 (CEST) Received: by mail-wr1-f49.google.com with SMTP id ffacd0b85a97d-3687fd09251so3042819f8f.0 for ; Wed, 24 Jul 2024 04:35:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1721820922; x=1722425722; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=DjyE9oeAAsqilrI1+gmk86xAJxREcb9uLAay2CjVPCY=; b=NvNvO6hb3hZ2x8DDzU045hsT+teyN4pWTbzVMskjFSVbXqueZSkhMXsEJp6/HuJFY7 DP/2k0eMdcMUeExej8bh78pbI3HJGoD1dVhDPSLkXLP34gWz0N1g9UbLsrw63tzD79H9 NgfYTsxUvyFq9YKolniIhk707ISJjeLo0kVf8hm0GZuuk9AoCziyZZ41GAerRDW4uoYm TJLxG/QaJhjv6IXEq4yHgmZqxygbZgZ2UOhAXTx8dOhaDk7xj/UzLrf3BwWF7FOp3a8m ZQbYKLlKzyeRi3Z7OzWUZOAt4fNtmKVYQEuznxfHatb7z6uQq7zrusB7gaJ4NtoFCb0U jpsA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1721820922; x=1722425722; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=DjyE9oeAAsqilrI1+gmk86xAJxREcb9uLAay2CjVPCY=; b=UObZbFP4Lp7bJhzB/aMWH4lrjWsW9HXe53UrbZvZQTlIHm5q2XMX8nDXam1Dqs0o9I lTyXHJeqncko6nMCmj+T/e1kNX2AN2EJ5hdHDQIAw0A7U6g+6GlnHHSiIM3VD7/XJzVq iuPTbIh3+AztrywD4BNQCzFInd759tnR82wwNNTsYvwY8dZbRRz0kMJxri+g32Z9UvY4 LibOgVbkWyE30uARtcQpoiAAnXCsG94/ooU5lWK3fTgFOYW0Srcsrndo580oB1sGowsP RAEWehjzdBVHxvevJWvO/pW0nvvnC6MqJbhapPyLDd7IVbdpLqGxpkf7lqZHE74n2It/ YkQA== X-Forwarded-Encrypted: i=1; AJvYcCWDeFDCGssIMwpgq7N3+kVZH0Usw9CQtidzM+fh6maFG2wfyVDra4eeB59busZcWqrCNPgyazJvril4Wjuu+c0= X-Gm-Message-State: AOJu0YwnCs/7YDrbASVjMp9jBGl0prnrQqhgB6cyDRrNw7z2Yz4Dbj8e IkE4O3SowkUam6TL3Bwyu5RQMawAhDlZEUuXMidV5WVLHFedtvuC X-Google-Smtp-Source: AGHT+IGTKX+R4zdK+/BH433XTZ8vZgMazXtk8HaUrhtyHa8PU2EzSI9F7dZgVo2F4gij5BgtVa0V7g== X-Received: by 2002:a05:6000:2c8:b0:360:9cf4:58ce with SMTP id ffacd0b85a97d-369f0a4c45emr2293640f8f.46.1721820921416; Wed, 24 Jul 2024 04:35:21 -0700 (PDT) Received: from localhost ([2a01:4b00:d036:ae00:7aef:1aaa:3dff:d546]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-368787cee03sm14139765f8f.76.2024.07.24.04.35.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Jul 2024 04:35:20 -0700 (PDT) From: luca.boccassi@gmail.com To: Sivaprasad Tummala Cc: Konstantin Ananyev , =?UTF-8?q?Morten=20Br=C3=B8rup?= , Ferruh Yigit , dpdk stable Subject: patch 'examples: fix lcore ID restriction' has been queued to stable release 22.11.6 Date: Wed, 24 Jul 2024 12:33:16 +0100 Message-Id: <20240724113318.616754-38-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240724113318.616754-1-luca.boccassi@gmail.com> References: <20240715152704.2229503-86-luca.boccassi@gmail.com> <20240724113318.616754-1-luca.boccassi@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Hi, FYI, your patch has been queued to stable release 22.11.6 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 07/26/24. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/6a1313b34aa99ae7454e3dbe0aae605406f50e1f Thanks. Luca Boccassi --- >From 6a1313b34aa99ae7454e3dbe0aae605406f50e1f Mon Sep 17 00:00:00 2001 From: Sivaprasad Tummala Date: Tue, 26 Mar 2024 13:55:44 +0100 Subject: [PATCH] examples: fix lcore ID restriction MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [ upstream commit 4b978938168b219346775ff877ac31649a36cba7 ] Currently the config option allows lcore IDs up to 255, irrespective of RTE_MAX_LCORES and needs to be fixed. The patch fixes these constraints by allowing all lcore IDs up to RTE_MAX_LCORES. Fixes: af75078fece3 ("first public release") Fixes: f88e7c175a68 ("examples/l3fwd-power: add high/regular perf cores options") Fixes: 08bd1a174461 ("examples/l3fwd-graph: add graph-based l3fwd skeleton") Fixes: d299106e8e31 ("examples/ipsec-secgw: add IPsec sample application") Fixes: 0e8f47491f09 ("examples/vm_power: add command to query CPU frequency") Fixes: de3cfa2c9823 ("sched: initial import") Signed-off-by: Sivaprasad Tummala Acked-by: Konstantin Ananyev Acked-by: Morten Brørup Acked-by: Ferruh Yigit --- examples/ipsec-secgw/event_helper.h | 2 +- examples/ipsec-secgw/ipsec-secgw.c | 21 ++++++++++++------- examples/ipsec-secgw/ipsec.c | 2 +- examples/ipsec-secgw/ipsec.h | 4 ++-- examples/l3fwd-graph/main.c | 14 ++++++------- examples/l3fwd-power/main.c | 18 +++++++++------- examples/l3fwd-power/main.h | 2 +- examples/l3fwd-power/perf_core.c | 11 +++++++--- examples/l3fwd/main.c | 20 +++++++++++------- examples/qos_sched/args.c | 6 +++--- .../guest_cli/vm_power_cli_guest.c | 4 ++-- 11 files changed, 61 insertions(+), 43 deletions(-) diff --git a/examples/ipsec-secgw/event_helper.h b/examples/ipsec-secgw/event_helper.h index af5cfcf794..5c4e260e2c 100644 --- a/examples/ipsec-secgw/event_helper.h +++ b/examples/ipsec-secgw/event_helper.h @@ -102,7 +102,7 @@ struct eh_event_link_info { /**< Event port ID */ uint8_t eventq_id; /**< Event queue to be linked to the port */ - uint8_t lcore_id; + uint32_t lcore_id; /**< Lcore to be polling on this port */ }; diff --git a/examples/ipsec-secgw/ipsec-secgw.c b/examples/ipsec-secgw/ipsec-secgw.c index 8b0dfe76e7..cefea36b13 100644 --- a/examples/ipsec-secgw/ipsec-secgw.c +++ b/examples/ipsec-secgw/ipsec-secgw.c @@ -221,7 +221,7 @@ static const char *cfgfile; struct lcore_params { uint16_t port_id; uint16_t queue_id; - uint8_t lcore_id; + uint32_t lcore_id; } __rte_cache_aligned; static struct lcore_params lcore_params_array[MAX_LCORE_PARAMS]; @@ -807,7 +807,7 @@ check_flow_params(uint16_t fdir_portid, uint8_t fdir_qid) static int32_t check_poll_mode_params(struct eh_conf *eh_conf) { - uint8_t lcore; + uint32_t lcore; uint16_t portid; uint16_t i; int32_t socket_id; @@ -826,13 +826,13 @@ check_poll_mode_params(struct eh_conf *eh_conf) for (i = 0; i < nb_lcore_params; ++i) { lcore = lcore_params[i].lcore_id; if (!rte_lcore_is_enabled(lcore)) { - printf("error: lcore %hhu is not enabled in " + printf("error: lcore %u is not enabled in " "lcore mask\n", lcore); return -1; } socket_id = rte_lcore_to_socket_id(lcore); if (socket_id != 0 && numa_on == 0) { - printf("warning: lcore %hhu is on socket %d " + printf("warning: lcore %u is on socket %d " "with numa off\n", lcore, socket_id); } @@ -867,7 +867,7 @@ static int32_t init_lcore_rx_queues(void) { uint16_t i, nb_rx_queue; - uint8_t lcore; + uint32_t lcore; for (i = 0; i < nb_lcore_params; ++i) { lcore = lcore_params[i].lcore_id; @@ -1048,7 +1048,11 @@ parse_config(const char *q_arg) char *str_fld[_NUM_FLD]; int32_t i; uint32_t size; - uint32_t max_fld[_NUM_FLD] = {255, RTE_MAX_QUEUES_PER_PORT, 255}; + uint32_t max_fld[_NUM_FLD] = { + 255, + RTE_MAX_QUEUES_PER_PORT, + RTE_MAX_LCORE + }; nb_lcore_params = 0; @@ -1082,7 +1086,7 @@ parse_config(const char *q_arg) lcore_params_array[nb_lcore_params].queue_id = (uint16_t)int_fld[FLD_QUEUE]; lcore_params_array[nb_lcore_params].lcore_id = - (uint8_t)int_fld[FLD_LCORE]; + (uint32_t)int_fld[FLD_LCORE]; ++nb_lcore_params; } lcore_params = lcore_params_array; @@ -1881,7 +1885,8 @@ port_init(uint16_t portid, uint64_t req_rx_offloads, uint64_t req_tx_offloads, struct rte_eth_dev_info dev_info; struct rte_eth_txconf *txconf; uint16_t nb_tx_queue, nb_rx_queue; - uint16_t tx_queueid, rx_queueid, queue, lcore_id; + uint16_t tx_queueid, rx_queueid, queue; + uint32_t lcore_id; int32_t ret, socket_id; struct lcore_conf *qconf; struct rte_ether_addr ethaddr; diff --git a/examples/ipsec-secgw/ipsec.c b/examples/ipsec-secgw/ipsec.c index 29cb3c4785..1df5065ed7 100644 --- a/examples/ipsec-secgw/ipsec.c +++ b/examples/ipsec-secgw/ipsec.c @@ -81,7 +81,7 @@ create_lookaside_session(struct ipsec_ctx *ipsec_ctx_lcore[], continue; /* Looking for cryptodev, which can handle this SA */ - key.lcore_id = (uint8_t)lcore_id; + key.lcore_id = lcore_id; key.cipher_algo = (uint8_t)sa->cipher_algo; key.auth_algo = (uint8_t)sa->auth_algo; key.aead_algo = (uint8_t)sa->aead_algo; diff --git a/examples/ipsec-secgw/ipsec.h b/examples/ipsec-secgw/ipsec.h index c764c9d7b8..5217e28f8a 100644 --- a/examples/ipsec-secgw/ipsec.h +++ b/examples/ipsec-secgw/ipsec.h @@ -256,11 +256,11 @@ extern struct offloads tx_offloads; * (hash key calculation reads 8 bytes if this struct is size 5 bytes). */ struct cdev_key { - uint16_t lcore_id; + uint32_t lcore_id; uint8_t cipher_algo; uint8_t auth_algo; uint8_t aead_algo; - uint8_t padding[3]; /* padding to 8-byte size should be zeroed */ + uint8_t padding; /* padding to 8-byte size should be zeroed */ }; struct socket_ctx { diff --git a/examples/l3fwd-graph/main.c b/examples/l3fwd-graph/main.c index f9ca0ff23b..563acce331 100644 --- a/examples/l3fwd-graph/main.c +++ b/examples/l3fwd-graph/main.c @@ -97,7 +97,7 @@ static struct lcore_conf lcore_conf[RTE_MAX_LCORE]; struct lcore_params { uint16_t port_id; uint16_t queue_id; - uint8_t lcore_id; + uint32_t lcore_id; } __rte_cache_aligned; static struct lcore_params lcore_params_array[MAX_LCORE_PARAMS]; @@ -152,7 +152,7 @@ check_lcore_params(void) { uint16_t queue, i; int socketid; - uint8_t lcore; + uint32_t lcore; for (i = 0; i < nb_lcore_params; ++i) { queue = lcore_params[i].queue_id; @@ -162,7 +162,7 @@ check_lcore_params(void) } lcore = lcore_params[i].lcore_id; if (!rte_lcore_is_enabled(lcore)) { - printf("Error: lcore %hhu is not enabled in lcore mask\n", + printf("Error: lcore %u is not enabled in lcore mask\n", lcore); return -1; } @@ -173,7 +173,7 @@ check_lcore_params(void) } socketid = rte_lcore_to_socket_id(lcore); if ((socketid != 0) && (numa_on == 0)) { - printf("Warning: lcore %hhu is on socket %d with numa off\n", + printf("Warning: lcore %u is on socket %d with numa off\n", lcore, socketid); } } @@ -227,7 +227,7 @@ static int init_lcore_rx_queues(void) { uint16_t i, nb_rx_queue; - uint8_t lcore; + uint32_t lcore; for (i = 0; i < nb_lcore_params; ++i) { lcore = lcore_params[i].lcore_id; @@ -235,7 +235,7 @@ init_lcore_rx_queues(void) if (nb_rx_queue >= MAX_RX_QUEUE_PER_LCORE) { printf("Error: too many queues (%u) for lcore: %u\n", (unsigned int)nb_rx_queue + 1, - (unsigned int)lcore); + lcore); return -1; } @@ -358,7 +358,7 @@ parse_config(const char *q_arg) lcore_params_array[nb_lcore_params].queue_id = (uint16_t)int_fld[FLD_QUEUE]; lcore_params_array[nb_lcore_params].lcore_id = - (uint8_t)int_fld[FLD_LCORE]; + (uint32_t)int_fld[FLD_LCORE]; ++nb_lcore_params; } lcore_params = lcore_params_array; diff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c index 9f60b784df..bab35d1839 100644 --- a/examples/l3fwd-power/main.c +++ b/examples/l3fwd-power/main.c @@ -1522,7 +1522,7 @@ static int check_lcore_params(void) { uint16_t queue, i; - uint8_t lcore; + uint32_t lcore; int socketid; for (i = 0; i < nb_lcore_params; ++i) { @@ -1533,13 +1533,13 @@ check_lcore_params(void) } lcore = lcore_params[i].lcore_id; if (!rte_lcore_is_enabled(lcore)) { - printf("error: lcore %hhu is not enabled in lcore " + printf("error: lcore %u is not enabled in lcore " "mask\n", lcore); return -1; } if ((socketid = rte_lcore_to_socket_id(lcore) != 0) && (numa_on == 0)) { - printf("warning: lcore %hhu is on socket %d with numa " + printf("warning: lcore %u is on socket %d with numa " "off\n", lcore, socketid); } if (app_mode == APP_MODE_TELEMETRY && lcore == rte_lcore_id()) { @@ -1591,14 +1591,14 @@ static int init_lcore_rx_queues(void) { uint16_t i, nb_rx_queue; - uint8_t lcore; + uint32_t lcore; for (i = 0; i < nb_lcore_params; ++i) { lcore = lcore_params[i].lcore_id; nb_rx_queue = lcore_conf[lcore].n_rx_queue; if (nb_rx_queue >= MAX_RX_QUEUE_PER_LCORE) { printf("error: too many queues (%u) for lcore: %u\n", - (unsigned)nb_rx_queue + 1, (unsigned)lcore); + (unsigned int)nb_rx_queue + 1, lcore); return -1; } else { lcore_conf[lcore].rx_queue_list[nb_rx_queue].port_id = @@ -1779,7 +1779,11 @@ parse_config(const char *q_arg) char *str_fld[_NUM_FLD]; int i; unsigned size; - unsigned int max_fld[_NUM_FLD] = {255, RTE_MAX_QUEUES_PER_PORT, 255}; + unsigned int max_fld[_NUM_FLD] = { + 255, + RTE_MAX_QUEUES_PER_PORT, + RTE_MAX_LCORE + }; nb_lcore_params = 0; @@ -1812,7 +1816,7 @@ parse_config(const char *q_arg) lcore_params_array[nb_lcore_params].queue_id = (uint16_t)int_fld[FLD_QUEUE]; lcore_params_array[nb_lcore_params].lcore_id = - (uint8_t)int_fld[FLD_LCORE]; + (uint32_t)int_fld[FLD_LCORE]; ++nb_lcore_params; } lcore_params = lcore_params_array; diff --git a/examples/l3fwd-power/main.h b/examples/l3fwd-power/main.h index 40b5194726..194bd82102 100644 --- a/examples/l3fwd-power/main.h +++ b/examples/l3fwd-power/main.h @@ -10,7 +10,7 @@ struct lcore_params { uint16_t port_id; uint16_t queue_id; - uint8_t lcore_id; + uint32_t lcore_id; } __rte_cache_aligned; extern struct lcore_params *lcore_params; diff --git a/examples/l3fwd-power/perf_core.c b/examples/l3fwd-power/perf_core.c index f34442b9d0..fbd7864cb9 100644 --- a/examples/l3fwd-power/perf_core.c +++ b/examples/l3fwd-power/perf_core.c @@ -24,7 +24,7 @@ struct perf_lcore_params { uint16_t port_id; uint16_t queue_id; uint8_t high_perf; - uint8_t lcore_idx; + uint32_t lcore_idx; } __rte_cache_aligned; static struct perf_lcore_params prf_lc_prms[MAX_LCORE_PARAMS]; @@ -132,7 +132,12 @@ parse_perf_config(const char *q_arg) char *str_fld[_NUM_FLD]; int i; unsigned int size; - unsigned int max_fld[_NUM_FLD] = {255, RTE_MAX_QUEUES_PER_PORT, 255, 255}; + unsigned int max_fld[_NUM_FLD] = { + 255, + RTE_MAX_QUEUES_PER_PORT, + 255, + RTE_MAX_LCORE + }; nb_prf_lc_prms = 0; @@ -169,7 +174,7 @@ parse_perf_config(const char *q_arg) prf_lc_prms[nb_prf_lc_prms].high_perf = !!(uint8_t)int_fld[FLD_LCORE_HP]; prf_lc_prms[nb_prf_lc_prms].lcore_idx = - (uint8_t)int_fld[FLD_LCORE_IDX]; + (uint32_t)int_fld[FLD_LCORE_IDX]; ++nb_prf_lc_prms; } diff --git a/examples/l3fwd/main.c b/examples/l3fwd/main.c index b6b105d42b..dca1beabc8 100644 --- a/examples/l3fwd/main.c +++ b/examples/l3fwd/main.c @@ -97,7 +97,7 @@ struct parm_cfg parm_config; struct lcore_params { uint16_t port_id; uint16_t queue_id; - uint8_t lcore_id; + uint32_t lcore_id; } __rte_cache_aligned; static struct lcore_params lcore_params_array[MAX_LCORE_PARAMS]; @@ -289,7 +289,7 @@ static int check_lcore_params(void) { uint16_t queue, i; - uint8_t lcore; + uint32_t lcore; int socketid; for (i = 0; i < nb_lcore_params; ++i) { @@ -300,12 +300,12 @@ check_lcore_params(void) } lcore = lcore_params[i].lcore_id; if (!rte_lcore_is_enabled(lcore)) { - printf("error: lcore %hhu is not enabled in lcore mask\n", lcore); + printf("error: lcore %u is not enabled in lcore mask\n", lcore); return -1; } if ((socketid = rte_lcore_to_socket_id(lcore) != 0) && (numa_on == 0)) { - printf("warning: lcore %hhu is on socket %d with numa off \n", + printf("warning: lcore %u is on socket %d with numa off\n", lcore, socketid); } } @@ -355,14 +355,14 @@ static int init_lcore_rx_queues(void) { uint16_t i, nb_rx_queue; - uint8_t lcore; + uint32_t lcore; for (i = 0; i < nb_lcore_params; ++i) { lcore = lcore_params[i].lcore_id; nb_rx_queue = lcore_conf[lcore].n_rx_queue; if (nb_rx_queue >= MAX_RX_QUEUE_PER_LCORE) { printf("error: too many queues (%u) for lcore: %u\n", - (unsigned)nb_rx_queue + 1, (unsigned)lcore); + (unsigned int)nb_rx_queue + 1, lcore); return -1; } else { lcore_conf[lcore].rx_queue_list[nb_rx_queue].port_id = @@ -492,7 +492,11 @@ parse_config(const char *q_arg) char *str_fld[_NUM_FLD]; int i; unsigned size; - uint16_t max_fld[_NUM_FLD] = {255, RTE_MAX_QUEUES_PER_PORT, 255}; + uint16_t max_fld[_NUM_FLD] = { + 255, + RTE_MAX_QUEUES_PER_PORT, + RTE_MAX_LCORE + }; nb_lcore_params = 0; @@ -524,7 +528,7 @@ parse_config(const char *q_arg) lcore_params_array[nb_lcore_params].queue_id = (uint16_t)int_fld[FLD_QUEUE]; lcore_params_array[nb_lcore_params].lcore_id = - (uint8_t)int_fld[FLD_LCORE]; + (uint32_t)int_fld[FLD_LCORE]; ++nb_lcore_params; } lcore_params = lcore_params_array; diff --git a/examples/qos_sched/args.c b/examples/qos_sched/args.c index bccbbe8207..fbdc738d77 100644 --- a/examples/qos_sched/args.c +++ b/examples/qos_sched/args.c @@ -222,10 +222,10 @@ app_parse_flow_conf(const char *conf_str) pconf->rx_port = vals[0]; pconf->tx_port = vals[1]; - pconf->rx_core = (uint8_t)vals[2]; - pconf->wt_core = (uint8_t)vals[3]; + pconf->rx_core = vals[2]; + pconf->wt_core = vals[3]; if (ret == 5) - pconf->tx_core = (uint8_t)vals[4]; + pconf->tx_core = vals[4]; else pconf->tx_core = pconf->wt_core; diff --git a/examples/vm_power_manager/guest_cli/vm_power_cli_guest.c b/examples/vm_power_manager/guest_cli/vm_power_cli_guest.c index 94bfbbaf78..5eddb47847 100644 --- a/examples/vm_power_manager/guest_cli/vm_power_cli_guest.c +++ b/examples/vm_power_manager/guest_cli/vm_power_cli_guest.c @@ -401,7 +401,7 @@ check_response_cmd(unsigned int lcore_id, int *result) struct cmd_set_cpu_freq_result { cmdline_fixed_string_t set_cpu_freq; - uint8_t lcore_id; + uint32_t lcore_id; cmdline_fixed_string_t cmd; }; @@ -444,7 +444,7 @@ cmdline_parse_token_string_t cmd_set_cpu_freq = set_cpu_freq, "set_cpu_freq"); cmdline_parse_token_num_t cmd_set_cpu_freq_core_num = TOKEN_NUM_INITIALIZER(struct cmd_set_cpu_freq_result, - lcore_id, RTE_UINT8); + lcore_id, RTE_UINT32); cmdline_parse_token_string_t cmd_set_cpu_freq_cmd_cmd = TOKEN_STRING_INITIALIZER(struct cmd_set_cpu_freq_result, cmd, "up#down#min#max#enable_turbo#disable_turbo"); -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2024-07-24 12:29:23.312203961 +0100 +++ 0038-examples-fix-lcore-ID-restriction.patch 2024-07-24 12:29:20.847027660 +0100 @@ -1 +1 @@ -From 4b978938168b219346775ff877ac31649a36cba7 Mon Sep 17 00:00:00 2001 +From 6a1313b34aa99ae7454e3dbe0aae605406f50e1f Mon Sep 17 00:00:00 2001 @@ -8,0 +9,2 @@ +[ upstream commit 4b978938168b219346775ff877ac31649a36cba7 ] + @@ -21 +22,0 @@ -Cc: stable@dpdk.org @@ -42 +43 @@ -index dfb81bfcf1..be635685b4 100644 +index af5cfcf794..5c4e260e2c 100644 @@ -55 +56 @@ -index 8292a262cd..5a7e1b220f 100644 +index 8b0dfe76e7..cefea36b13 100644 @@ -59 +60 @@ - struct __rte_cache_aligned lcore_params { + struct lcore_params { @@ -64 +65 @@ - }; + } __rte_cache_aligned; @@ -123 +124 @@ -@@ -1918,7 +1922,8 @@ port_init(uint16_t portid, uint64_t req_rx_offloads, uint64_t req_tx_offloads, +@@ -1881,7 +1885,8 @@ port_init(uint16_t portid, uint64_t req_rx_offloads, uint64_t req_tx_offloads, @@ -134 +135 @@ -index c321108119..b52b0ffc3d 100644 +index 29cb3c4785..1df5065ed7 100644 @@ -137 +138 @@ -@@ -259,7 +259,7 @@ create_lookaside_session(struct ipsec_ctx *ipsec_ctx_lcore[], +@@ -81,7 +81,7 @@ create_lookaside_session(struct ipsec_ctx *ipsec_ctx_lcore[], @@ -147 +148 @@ -index 6f45fdb166..a83fd2283b 100644 +index c764c9d7b8..5217e28f8a 100644 @@ -165 +166 @@ -index 0866822e93..4396e2bb3c 100644 +index f9ca0ff23b..563acce331 100644 @@ -168,2 +169,2 @@ -@@ -111,7 +111,7 @@ static struct lcore_conf lcore_conf[RTE_MAX_LCORE]; - struct __rte_cache_aligned lcore_params { +@@ -97,7 +97,7 @@ static struct lcore_conf lcore_conf[RTE_MAX_LCORE]; + struct lcore_params { @@ -174 +175 @@ - }; + } __rte_cache_aligned; @@ -177 +178 @@ -@@ -207,7 +207,7 @@ check_lcore_params(void) +@@ -152,7 +152,7 @@ check_lcore_params(void) @@ -186 +187 @@ -@@ -217,7 +217,7 @@ check_lcore_params(void) +@@ -162,7 +162,7 @@ check_lcore_params(void) @@ -195 +196 @@ -@@ -228,7 +228,7 @@ check_lcore_params(void) +@@ -173,7 +173,7 @@ check_lcore_params(void) @@ -204 +205 @@ -@@ -282,7 +282,7 @@ static int +@@ -227,7 +227,7 @@ static int @@ -213 +214 @@ -@@ -290,7 +290,7 @@ init_lcore_rx_queues(void) +@@ -235,7 +235,7 @@ init_lcore_rx_queues(void) @@ -222 +223 @@ -@@ -452,7 +452,7 @@ parse_config(const char *q_arg) +@@ -358,7 +358,7 @@ parse_config(const char *q_arg) @@ -232 +233 @@ -index 74e906cb5d..2976058425 100644 +index 9f60b784df..bab35d1839 100644 @@ -235 +236 @@ -@@ -1397,7 +1397,7 @@ static int +@@ -1522,7 +1522,7 @@ static int @@ -244 +245 @@ -@@ -1408,13 +1408,13 @@ check_lcore_params(void) +@@ -1533,13 +1533,13 @@ check_lcore_params(void) @@ -260 +261 @@ -@@ -1466,14 +1466,14 @@ static int +@@ -1591,14 +1591,14 @@ static int @@ -277 +278 @@ -@@ -1658,7 +1658,11 @@ parse_config(const char *q_arg) +@@ -1779,7 +1779,11 @@ parse_config(const char *q_arg) @@ -290 +291 @@ -@@ -1691,7 +1695,7 @@ parse_config(const char *q_arg) +@@ -1812,7 +1816,7 @@ parse_config(const char *q_arg) @@ -300 +301 @@ -index 378f54794c..2461ab8da7 100644 +index 40b5194726..194bd82102 100644 @@ -304 +305 @@ - struct __rte_cache_aligned lcore_params { + struct lcore_params { @@ -309 +310 @@ - }; + } __rte_cache_aligned; @@ -313 +314 @@ -index 77248889c0..a0112b57ff 100644 +index f34442b9d0..fbd7864cb9 100644 @@ -316 +317 @@ -@@ -24,7 +24,7 @@ struct __rte_cache_aligned perf_lcore_params { +@@ -24,7 +24,7 @@ struct perf_lcore_params { @@ -322 +323 @@ - }; + } __rte_cache_aligned; @@ -349 +350 @@ -index f5f5f1a7fb..ba7083d4f3 100644 +index b6b105d42b..dca1beabc8 100644 @@ -352,2 +353,2 @@ -@@ -99,7 +99,7 @@ struct parm_cfg parm_config; - struct __rte_cache_aligned lcore_params { +@@ -97,7 +97,7 @@ struct parm_cfg parm_config; + struct lcore_params { @@ -358 +359 @@ - }; + } __rte_cache_aligned; @@ -361 +362 @@ -@@ -293,7 +293,7 @@ static int +@@ -289,7 +289,7 @@ static int @@ -370 +371 @@ -@@ -304,12 +304,12 @@ check_lcore_params(void) +@@ -300,12 +300,12 @@ check_lcore_params(void) @@ -385 +386 @@ -@@ -359,14 +359,14 @@ static int +@@ -355,14 +355,14 @@ static int @@ -402 +403 @@ -@@ -500,7 +500,11 @@ parse_config(const char *q_arg) +@@ -492,7 +492,11 @@ parse_config(const char *q_arg) @@ -415 +416 @@ -@@ -532,7 +536,7 @@ parse_config(const char *q_arg) +@@ -524,7 +528,7 @@ parse_config(const char *q_arg) @@ -425 +426 @@ -index 8d61d3e454..886542b3c1 100644 +index bccbbe8207..fbdc738d77 100644 @@ -428 +429 @@ -@@ -184,10 +184,10 @@ app_parse_flow_conf(const char *conf_str) +@@ -222,10 +222,10 @@ app_parse_flow_conf(const char *conf_str)