Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/138459/?format=api
http://patches.dpdk.org/api/patches/138459/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/patch/20240318173146.24303-3-sivaprasad.tummala@amd.com/", "project": { "id": 1, "url": "http://patches.dpdk.org/api/projects/1/?format=api", "name": "DPDK", "link_name": "dpdk", "list_id": "dev.dpdk.org", "list_email": "dev@dpdk.org", "web_url": "http://core.dpdk.org", "scm_url": "git://dpdk.org/dpdk", "webscm_url": "http://git.dpdk.org/dpdk", "list_archive_url": "https://inbox.dpdk.org/dev", "list_archive_url_format": "https://inbox.dpdk.org/dev/{}", "commit_url_format": "" }, "msgid": "<20240318173146.24303-3-sivaprasad.tummala@amd.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20240318173146.24303-3-sivaprasad.tummala@amd.com", "date": "2024-03-18T17:31:41", "name": "[v5,2/6] examples/l3fwd-power: fix lcore ID restriction", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "58baffd1eb89b91633af1339c279fe6d37ddb37e", "submitter": { "id": 2510, "url": "http://patches.dpdk.org/api/people/2510/?format=api", "name": "Sivaprasad Tummala", "email": "Sivaprasad.Tummala@amd.com" }, "delegate": { "id": 1, "url": "http://patches.dpdk.org/api/users/1/?format=api", "username": "tmonjalo", "first_name": "Thomas", "last_name": "Monjalon", "email": "thomas@monjalon.net" }, "mbox": "http://patches.dpdk.org/project/dpdk/patch/20240318173146.24303-3-sivaprasad.tummala@amd.com/mbox/", "series": [ { "id": 31546, "url": "http://patches.dpdk.org/api/series/31546/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=31546", "date": "2024-03-18T17:31:40", "name": "fix lcore ID restriction", "version": 5, "mbox": "http://patches.dpdk.org/series/31546/mbox/" } ], "comments": "http://patches.dpdk.org/api/patches/138459/comments/", "check": "success", "checks": "http://patches.dpdk.org/api/patches/138459/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "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])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 63FFF43CE8;\n\tMon, 18 Mar 2024 18:32:34 +0100 (CET)", "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id D451F409FA;\n\tMon, 18 Mar 2024 18:32:20 +0100 (CET)", "from NAM11-DM6-obe.outbound.protection.outlook.com\n (mail-dm6nam11on2079.outbound.protection.outlook.com [40.107.223.79])\n by mails.dpdk.org (Postfix) with ESMTP id 3805A406B7;\n Mon, 18 Mar 2024 18:32:19 +0100 (CET)", "from CH0PR07CA0019.namprd07.prod.outlook.com (2603:10b6:610:32::24)\n by MW4PR12MB6874.namprd12.prod.outlook.com (2603:10b6:303:20b::13)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.27; Mon, 18 Mar\n 2024 17:32:15 +0000", "from CH1PEPF0000AD76.namprd04.prod.outlook.com\n (2603:10b6:610:32:cafe::49) by CH0PR07CA0019.outlook.office365.com\n (2603:10b6:610:32::24) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.27 via Frontend\n Transport; Mon, 18 Mar 2024 17:32:14 +0000", "from SATLEXMB04.amd.com (165.204.84.17) by\n CH1PEPF0000AD76.mail.protection.outlook.com (10.167.244.53) with Microsoft\n SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id\n 15.20.7409.10 via Frontend Transport; Mon, 18 Mar 2024 17:32:14 +0000", "from ubuntu2004.linuxvmimages.local (10.180.168.240) by\n SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id\n 15.1.2507.35; Mon, 18 Mar 2024 12:32:09 -0500" ], "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=a2KrUAnE1dQsBP3zLVdq69MN8bDJCF1Lwv1N+Dhz/Sqd+oqI2c4qyhtE432KqH5aMSDN8e8oE4b4B8acpm2WimgfvFOUBzi0QpDFM8CifVSG9hQyrqmyFBsurIVVEUkIs/IHVV6nHcaAHtjPpVntC5VHU4PKYxD/pfzRutzN0USX7IWBFEAanhnZ1hxaWC/igddVfF/E0x0er/jAtPcGDi263X2lPkjvsie3/Hp5g7RnI+ovP/Ys+oUGJ3mEiqWuBF6U1UQCGXiP035p84v9z5X8DmVN9Lkzwf1CiGuMudOwpxw1UL53k4/VxvBtqa5koPy36biTEc/Vddk1TAwl9w==", "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector9901;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n bh=NFFhnNocpbC7ZQxY4jXqxJlizdDeSctULyR3n3YdeKo=;\n b=P9yJ+OybxBqs3wYMKcVfAB/c7YvVmWi17mzgdBUfPT61p77KoXyUiaT9rPlgvv6zhPa0teKHSb6/9L09wO6pns8OgMcE1QF9DBfFtkfskUY1mF0X1kFWCZ++Zdsy5CPVwUtpbxHl3BVj/nT9AqwYTFT7VPX8L1tpA2vh7t+UrAi2hPcINv7q+LBCh7upnAwRGH0RZiOfcprsiIe1EmC2oDmeZx6bz+EENHVENQo8tuyKypIRIzSrHSzVxADbqqEioPXNWIiJYu40dnU4pf0BXeIa1a5nhMTHhNWTNQESJjPBXWPZkjAQt+5+2JWGdUrajr+qF3MsVKn0SmfLrdIacw==", "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass (sender ip is\n 165.204.84.17) smtp.rcpttodomain=intel.com smtp.mailfrom=amd.com; dmarc=pass\n (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;\n dkim=none (message not signed); arc=none (0)", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=NFFhnNocpbC7ZQxY4jXqxJlizdDeSctULyR3n3YdeKo=;\n b=nPJPyid8ec4wb82+1Pv60ooRNQVVwEzZiBs+NNO9ji31DuptT3/JSruRr3Q9MbLCfb14Mi+9VfbcHrVRiQKBcCnZ//ZYRRquiDDwdvo3noengPa0vGRpPgaeXZ7Eu//S3H6QoJB6ulABUiin3bJxXAOV4QcnlghemOcTKj97ckk=", "X-MS-Exchange-Authentication-Results": "spf=pass (sender IP is 165.204.84.17)\n smtp.mailfrom=amd.com; dkim=none (message not signed)\n header.d=none;dmarc=pass action=none header.from=amd.com;", "Received-SPF": "Pass (protection.outlook.com: domain of amd.com designates\n 165.204.84.17 as permitted sender) receiver=protection.outlook.com;\n client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C", "From": "Sivaprasad Tummala <sivaprasad.tummala@amd.com>", "To": "<david.hunt@intel.com>, <anatoly.burakov@intel.com>, <jerinj@marvell.com>,\n <radu.nicolau@intel.com>, <gakhil@marvell.com>,\n <cristian.dumitrescu@intel.com>, <ferruh.yigit@amd.com>,\n <konstantin.ananyev@huawei.com>, <stephen@networkplumber.org>,\n <david.marchand@redhat.com>", "CC": "<dev@dpdk.org>, <stable@dpdk.org>", "Subject": "[PATCH v5 2/6] examples/l3fwd-power: fix lcore ID restriction", "Date": "Mon, 18 Mar 2024 18:31:41 +0100", "Message-ID": "<20240318173146.24303-3-sivaprasad.tummala@amd.com>", "X-Mailer": "git-send-email 2.25.1", "In-Reply-To": "<20240318173146.24303-1-sivaprasad.tummala@amd.com>", "References": "<20240116182332.95537-1-sivaprasad.tummala@amd.com>\n <20240318173146.24303-1-sivaprasad.tummala@amd.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Content-Type": "text/plain", "X-Originating-IP": "[10.180.168.240]", "X-ClientProxiedBy": "SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com\n (10.181.40.145)", "X-EOPAttributedMessage": "0", "X-MS-PublicTrafficType": "Email", "X-MS-TrafficTypeDiagnostic": "CH1PEPF0000AD76:EE_|MW4PR12MB6874:EE_", "X-MS-Office365-Filtering-Correlation-Id": "7932bb24-dafa-4bc3-268f-08dc47715a31", "X-MS-Exchange-SenderADCheck": "1", "X-MS-Exchange-AntiSpam-Relay": "0", "X-Microsoft-Antispam": "BCL:0;", "X-Microsoft-Antispam-Message-Info": "\n OV+HY4/7uhOFKMrJzNEgITM/jCMantfuMaSwQHiPNybD7qNyDCGDGauEx2pj99FCtZ4OAXI6ybnG0AJ2WfPcqCY9OvYvUl0sD2z2WuXAUgk3DhBWyCga/pMd/7/vt0kigZOD8TJrH25RQbqdd3rfNiLYn7P1hmk2OpwxQmdVtSWQ7+Y2xuGLwX0h0gzMIClyoyQI4C1n60z/yjUH7TidXCYzINr+vwWAvBhTfOdFrn0SDli9Imha2nAFEchbC0HOdymSIBRtAEVH2vqEUvzBdnieGCl7ZGg99JNHm4GnlcEAtI4wzgOz047Z4JyNQKsYOd7G7+Q+Bn2tqMOhxB3ZIxiOMo2LBA1RWJ/RMiy9ZGodmQ+Ihi4ZyQD799h3DtIKMTV+yJN/IoyFDSCuDribwzFkr/zJciZoYwMEaUVzpMj0ZnG1KiPd72LkoLJfXf5dpCU4+IAS1nsjwgT6LkVcKAsfXEG9d4h+yVVA1dglfv1qdi5IgKQrrH7OAHwOKf7/XehOZnzV/9FpJSe5DrxruXzj4Qd7WGSj8W74bYODsmXZH90dSJA7ftb4p55++33V/O5z0dmnIeldpfxudPXM80NxM+wf8gzu/FoXX7earf0GH6ZrGGbk6ojTUs2VwcN3t/bAcFxXPJSFCJZF8PkUSs2m/GdC0UrfCYvH41tCERFS0jE7XLk2m+XIkkHOw8klZ8VewEXdEG6nDzfyBP2k1FiYoHXKueAW4hZqKKsnnZDPGSP9THrybcm1bHBsTVoSuN69xR1sAW9IqVFGMGhFJA==", "X-Forefront-Antispam-Report": "CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:;\n IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE;\n SFS:(13230031)(1800799015)(82310400014)(7416005)(36860700004)(376005)(921011);\n DIR:OUT; SFP:1101;", "X-OriginatorOrg": "amd.com", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "18 Mar 2024 17:32:14.9189 (UTC)", "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 7932bb24-dafa-4bc3-268f-08dc47715a31", "X-MS-Exchange-CrossTenant-Id": "3dd8961f-e488-4e60-8e11-a82d994e183d", "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "\n TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17];\n Helo=[SATLEXMB04.amd.com]", "X-MS-Exchange-CrossTenant-AuthSource": "\n CH1PEPF0000AD76.namprd04.prod.outlook.com", "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous", "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "MW4PR12MB6874", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org" }, "content": "Currently the config option allows lcore IDs up to 255,\nirrespective of RTE_MAX_LCORES and needs to be fixed.\n\nThe patch allows config options based on DPDK config.\n\nFixes: f88e7c175a68 (\"examples/l3fwd-power: add high/regular perf cores options\")\nCc: radu.nicolau@intel.com\nCc: stable@dpdk.org\n\nSigned-off-by: Sivaprasad Tummala <sivaprasad.tummala@amd.com>\n---\n examples/l3fwd-power/main.c | 59 ++++++++++++++++----------------\n examples/l3fwd-power/main.h | 4 +--\n examples/l3fwd-power/perf_core.c | 16 +++++----\n 3 files changed, 41 insertions(+), 38 deletions(-)", "diff": "diff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c\nindex f4adcf41b5..4430605df0 100644\n--- a/examples/l3fwd-power/main.c\n+++ b/examples/l3fwd-power/main.c\n@@ -214,7 +214,7 @@ enum freq_scale_hint_t\n \n struct lcore_rx_queue {\n \tuint16_t port_id;\n-\tuint8_t queue_id;\n+\tuint16_t queue_id;\n \tenum freq_scale_hint_t freq_up_hint;\n \tuint32_t zero_rx_packet_count;\n \tuint32_t idle_hint;\n@@ -838,7 +838,7 @@ sleep_until_rx_interrupt(int num, int lcore)\n \tstruct rte_epoll_event event[num];\n \tint n, i;\n \tuint16_t port_id;\n-\tuint8_t queue_id;\n+\tuint16_t queue_id;\n \tvoid *data;\n \n \tif (status[lcore].wakeup) {\n@@ -850,9 +850,9 @@ sleep_until_rx_interrupt(int num, int lcore)\n \tn = rte_epoll_wait(RTE_EPOLL_PER_THREAD, event, num, 10);\n \tfor (i = 0; i < n; i++) {\n \t\tdata = event[i].epdata.data;\n-\t\tport_id = ((uintptr_t)data) >> CHAR_BIT;\n+\t\tport_id = ((uintptr_t)data) >> (sizeof(uint16_t) * CHAR_BIT);\n \t\tqueue_id = ((uintptr_t)data) &\n-\t\t\tRTE_LEN2MASK(CHAR_BIT, uint8_t);\n+\t\t\tRTE_LEN2MASK((sizeof(uint16_t) * CHAR_BIT), uint16_t);\n \t\tRTE_LOG(INFO, L3FWD_POWER,\n \t\t\t\"lcore %u is waked up from rx interrupt on\"\n \t\t\t\" port %d queue %d\\n\",\n@@ -867,7 +867,7 @@ static void turn_on_off_intr(struct lcore_conf *qconf, bool on)\n {\n \tint i;\n \tstruct lcore_rx_queue *rx_queue;\n-\tuint8_t queue_id;\n+\tuint16_t queue_id;\n \tuint16_t port_id;\n \n \tfor (i = 0; i < qconf->n_rx_queue; ++i) {\n@@ -887,7 +887,7 @@ static void turn_on_off_intr(struct lcore_conf *qconf, bool on)\n static int event_register(struct lcore_conf *qconf)\n {\n \tstruct lcore_rx_queue *rx_queue;\n-\tuint8_t queueid;\n+\tuint16_t queueid;\n \tuint16_t portid;\n \tuint32_t data;\n \tint ret;\n@@ -897,7 +897,7 @@ static int event_register(struct lcore_conf *qconf)\n \t\trx_queue = &(qconf->rx_queue_list[i]);\n \t\tportid = rx_queue->port_id;\n \t\tqueueid = rx_queue->queue_id;\n-\t\tdata = portid << CHAR_BIT | queueid;\n+\t\tdata = portid << (sizeof(uint16_t) * CHAR_BIT) | queueid;\n \n \t\tret = rte_eth_dev_rx_intr_ctl_q(portid, queueid,\n \t\t\t\t\t\tRTE_EPOLL_PER_THREAD,\n@@ -917,8 +917,7 @@ static int main_intr_loop(__rte_unused void *dummy)\n \tunsigned int lcore_id;\n \tuint64_t prev_tsc, diff_tsc, cur_tsc;\n \tint i, j, nb_rx;\n-\tuint8_t queueid;\n-\tuint16_t portid;\n+\tuint16_t portid, queueid;\n \tstruct lcore_conf *qconf;\n \tstruct lcore_rx_queue *rx_queue;\n \tuint32_t lcore_rx_idle_count = 0;\n@@ -946,7 +945,7 @@ static int main_intr_loop(__rte_unused void *dummy)\n \t\tportid = qconf->rx_queue_list[i].port_id;\n \t\tqueueid = qconf->rx_queue_list[i].queue_id;\n \t\tRTE_LOG(INFO, L3FWD_POWER,\n-\t\t\t\t\" -- lcoreid=%u portid=%u rxqueueid=%hhu\\n\",\n+\t\t\t\t\" -- lcoreid=%u portid=%u rxqueueid=%hu\\n\",\n \t\t\t\tlcore_id, portid, queueid);\n \t}\n \n@@ -1083,8 +1082,7 @@ main_telemetry_loop(__rte_unused void *dummy)\n \tunsigned int lcore_id;\n \tuint64_t prev_tsc, diff_tsc, cur_tsc, prev_tel_tsc;\n \tint i, j, nb_rx;\n-\tuint8_t queueid;\n-\tuint16_t portid;\n+\tuint16_t portid, queueid;\n \tstruct lcore_conf *qconf;\n \tstruct lcore_rx_queue *rx_queue;\n \tuint64_t ep_nep[2] = {0}, fp_nfp[2] = {0};\n@@ -1114,7 +1112,7 @@ main_telemetry_loop(__rte_unused void *dummy)\n \t\tportid = qconf->rx_queue_list[i].port_id;\n \t\tqueueid = qconf->rx_queue_list[i].queue_id;\n \t\tRTE_LOG(INFO, L3FWD_POWER, \" -- lcoreid=%u portid=%u \"\n-\t\t\t\"rxqueueid=%hhu\\n\", lcore_id, portid, queueid);\n+\t\t\t\"rxqueueid=%hu\\n\", lcore_id, portid, queueid);\n \t}\n \n \twhile (!is_done()) {\n@@ -1205,8 +1203,7 @@ main_legacy_loop(__rte_unused void *dummy)\n \tuint64_t prev_tsc, diff_tsc, cur_tsc, tim_res_tsc, hz;\n \tuint64_t prev_tsc_power = 0, cur_tsc_power, diff_tsc_power;\n \tint i, j, nb_rx;\n-\tuint8_t queueid;\n-\tuint16_t portid;\n+\tuint16_t portid, queueid;\n \tstruct lcore_conf *qconf;\n \tstruct lcore_rx_queue *rx_queue;\n \tenum freq_scale_hint_t lcore_scaleup_hint;\n@@ -1234,7 +1231,7 @@ main_legacy_loop(__rte_unused void *dummy)\n \t\tportid = qconf->rx_queue_list[i].port_id;\n \t\tqueueid = qconf->rx_queue_list[i].queue_id;\n \t\tRTE_LOG(INFO, L3FWD_POWER, \" -- lcoreid=%u portid=%u \"\n-\t\t\t\"rxqueueid=%hhu\\n\", lcore_id, portid, queueid);\n+\t\t\t\"rxqueueid=%hu\\n\", lcore_id, portid, queueid);\n \t}\n \n \t/* add into event wait list */\n@@ -1399,25 +1396,25 @@ main_legacy_loop(__rte_unused void *dummy)\n static int\n check_lcore_params(void)\n {\n-\tuint8_t queue, lcore;\n-\tuint16_t i;\n+\tuint16_t queue, i;\n+\tuint32_t lcore;\n \tint socketid;\n \n \tfor (i = 0; i < nb_lcore_params; ++i) {\n \t\tqueue = lcore_params[i].queue_id;\n \t\tif (queue >= MAX_RX_QUEUE_PER_PORT) {\n-\t\t\tprintf(\"invalid queue number: %hhu\\n\", queue);\n+\t\t\tprintf(\"invalid queue number: %hu\\n\", queue);\n \t\t\treturn -1;\n \t\t}\n \t\tlcore = lcore_params[i].lcore_id;\n \t\tif (!rte_lcore_is_enabled(lcore)) {\n-\t\t\tprintf(\"error: lcore %hhu is not enabled in lcore \"\n+\t\t\tprintf(\"error: lcore %u is not enabled in lcore \"\n \t\t\t\t\t\t\t\"mask\\n\", lcore);\n \t\t\treturn -1;\n \t\t}\n \t\tif ((socketid = rte_lcore_to_socket_id(lcore) != 0) &&\n \t\t\t\t\t\t\t(numa_on == 0)) {\n-\t\t\tprintf(\"warning: lcore %hhu is on socket %d with numa \"\n+\t\t\tprintf(\"warning: lcore %u is on socket %d with numa \"\n \t\t\t\t\t\t\"off\\n\", lcore, socketid);\n \t\t}\n \t\tif (app_mode == APP_MODE_TELEMETRY && lcore == rte_lcore_id()) {\n@@ -1451,7 +1448,7 @@ check_port_config(void)\n \treturn 0;\n }\n \n-static uint8_t\n+static uint16_t\n get_port_n_rx_queues(const uint16_t port)\n {\n \tint queue = -1;\n@@ -1462,14 +1459,14 @@ get_port_n_rx_queues(const uint16_t port)\n \t\t\t\tlcore_params[i].queue_id > queue)\n \t\t\tqueue = lcore_params[i].queue_id;\n \t}\n-\treturn (uint8_t)(++queue);\n+\treturn (uint16_t)(++queue);\n }\n \n static int\n init_lcore_rx_queues(void)\n {\n \tuint16_t i, nb_rx_queue;\n-\tuint8_t lcore;\n+\tuint32_t lcore;\n \n \tfor (i = 0; i < nb_lcore_params; ++i) {\n \t\tlcore = lcore_params[i].lcore_id;\n@@ -1661,6 +1658,8 @@ parse_config(const char *q_arg)\n \tchar *str_fld[_NUM_FLD];\n \tint i;\n \tunsigned size;\n+\tunsigned int max_fld[_NUM_FLD] = {RTE_MAX_ETHPORTS,\n+\t\t\t\t\tUSHRT_MAX, RTE_MAX_LCORE};\n \n \tnb_lcore_params = 0;\n \n@@ -1681,7 +1680,7 @@ parse_config(const char *q_arg)\n \t\t\terrno = 0;\n \t\t\tint_fld[i] = strtoul(str_fld[i], &end, 0);\n \t\t\tif (errno != 0 || end == str_fld[i] || int_fld[i] >\n-\t\t\t\t\t\t\t\t\t255)\n+\t\t\t\t\t\t\t\t\tmax_fld[i])\n \t\t\t\treturn -1;\n \t\t}\n \t\tif (nb_lcore_params >= MAX_LCORE_PARAMS) {\n@@ -1690,11 +1689,11 @@ parse_config(const char *q_arg)\n \t\t\treturn -1;\n \t\t}\n \t\tlcore_params_array[nb_lcore_params].port_id =\n-\t\t\t\t(uint8_t)int_fld[FLD_PORT];\n+\t\t\t\t(uint16_t)int_fld[FLD_PORT];\n \t\tlcore_params_array[nb_lcore_params].queue_id =\n-\t\t\t\t(uint8_t)int_fld[FLD_QUEUE];\n+\t\t\t\t(uint16_t)int_fld[FLD_QUEUE];\n \t\tlcore_params_array[nb_lcore_params].lcore_id =\n-\t\t\t\t(uint8_t)int_fld[FLD_LCORE];\n+\t\t\t\t(uint32_t)int_fld[FLD_LCORE];\n \t\t++nb_lcore_params;\n \t}\n \tlcore_params = lcore_params_array;\n@@ -2501,8 +2500,8 @@ main(int argc, char **argv)\n \tuint64_t hz;\n \tuint32_t n_tx_queue, nb_lcores;\n \tuint32_t dev_rxq_num, dev_txq_num;\n-\tuint8_t nb_rx_queue, queue, socketid;\n-\tuint16_t portid;\n+\tuint8_t socketid;\n+\tuint16_t portid, nb_rx_queue, queue;\n \tconst char *ptr_strings[NUM_TELSTATS];\n \n \t/* init EAL */\ndiff --git a/examples/l3fwd-power/main.h b/examples/l3fwd-power/main.h\nindex 258de98f5b..194bd82102 100644\n--- a/examples/l3fwd-power/main.h\n+++ b/examples/l3fwd-power/main.h\n@@ -9,8 +9,8 @@\n #define MAX_LCORE_PARAMS 1024\n struct lcore_params {\n \tuint16_t port_id;\n-\tuint8_t queue_id;\n-\tuint8_t lcore_id;\n+\tuint16_t queue_id;\n+\tuint32_t lcore_id;\n } __rte_cache_aligned;\n \n extern struct lcore_params *lcore_params;\ndiff --git a/examples/l3fwd-power/perf_core.c b/examples/l3fwd-power/perf_core.c\nindex 41ef6d0c9a..c2cdc4bf49 100644\n--- a/examples/l3fwd-power/perf_core.c\n+++ b/examples/l3fwd-power/perf_core.c\n@@ -22,9 +22,9 @@ static uint16_t nb_hp_lcores;\n \n struct perf_lcore_params {\n \tuint16_t port_id;\n-\tuint8_t queue_id;\n+\tuint16_t queue_id;\n \tuint8_t high_perf;\n-\tuint8_t lcore_idx;\n+\tuint32_t lcore_idx;\n } __rte_cache_aligned;\n \n static struct perf_lcore_params prf_lc_prms[MAX_LCORE_PARAMS];\n@@ -132,6 +132,8 @@ parse_perf_config(const char *q_arg)\n \tchar *str_fld[_NUM_FLD];\n \tint i;\n \tunsigned int size;\n+\tunsigned int max_fld[_NUM_FLD] = {RTE_MAX_ETHPORTS, USHRT_MAX,\n+\t\t\t\t\tUCHAR_MAX, RTE_MAX_LCORE};\n \n \tnb_prf_lc_prms = 0;\n \n@@ -152,7 +154,9 @@ parse_perf_config(const char *q_arg)\n \t\tfor (i = 0; i < _NUM_FLD; i++) {\n \t\t\terrno = 0;\n \t\t\tint_fld[i] = strtoul(str_fld[i], &end, 0);\n-\t\t\tif (errno != 0 || end == str_fld[i] || int_fld[i] > 255)\n+\t\t\tif (errno != 0 || end == str_fld[i] || int_fld[i] >\n+\t\t\t\t\t\t\t\t\tmax_fld[i])\n+\n \t\t\t\treturn -1;\n \t\t}\n \t\tif (nb_prf_lc_prms >= MAX_LCORE_PARAMS) {\n@@ -161,13 +165,13 @@ parse_perf_config(const char *q_arg)\n \t\t\treturn -1;\n \t\t}\n \t\tprf_lc_prms[nb_prf_lc_prms].port_id =\n-\t\t\t\t(uint8_t)int_fld[FLD_PORT];\n+\t\t\t\t(uint16_t)int_fld[FLD_PORT];\n \t\tprf_lc_prms[nb_prf_lc_prms].queue_id =\n-\t\t\t\t(uint8_t)int_fld[FLD_QUEUE];\n+\t\t\t\t(uint16_t)int_fld[FLD_QUEUE];\n \t\tprf_lc_prms[nb_prf_lc_prms].high_perf =\n \t\t\t\t!!(uint8_t)int_fld[FLD_LCORE_HP];\n \t\tprf_lc_prms[nb_prf_lc_prms].lcore_idx =\n-\t\t\t\t(uint8_t)int_fld[FLD_LCORE_IDX];\n+\t\t\t\t(uint32_t)int_fld[FLD_LCORE_IDX];\n \t\t++nb_prf_lc_prms;\n \t}\n \n", "prefixes": [ "v5", "2/6" ] }{ "id": 138459, "url": "