Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/110281/?format=api
http://patches.dpdk.org/api/patches/110281/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/patch/20220426122000.24743-1-donw@xsightlabs.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": "<20220426122000.24743-1-donw@xsightlabs.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20220426122000.24743-1-donw@xsightlabs.com", "date": "2022-04-26T12:19:59", "name": "[RFC] eal: allow worker lcore stacks to be allocated from hugepage memory", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "941deed91b6d27021d7b94af9ef90ad8b6951fc3", "submitter": { "id": 2666, "url": "http://patches.dpdk.org/api/people/2666/?format=api", "name": "Don Wallwork", "email": "donw@xsightlabs.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/20220426122000.24743-1-donw@xsightlabs.com/mbox/", "series": [ { "id": 22674, "url": "http://patches.dpdk.org/api/series/22674/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=22674", "date": "2022-04-26T12:19:59", "name": "[RFC] eal: allow worker lcore stacks to be allocated from hugepage memory", "version": 1, "mbox": "http://patches.dpdk.org/series/22674/mbox/" } ], "comments": "http://patches.dpdk.org/api/patches/110281/comments/", "check": "warning", "checks": "http://patches.dpdk.org/api/patches/110281/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 B32BEA00C4;\n\tTue, 26 Apr 2022 14:20:27 +0200 (CEST)", "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 5DDDC40E78;\n\tTue, 26 Apr 2022 14:20:27 +0200 (CEST)", "from EUR05-DB8-obe.outbound.protection.outlook.com\n (mail-db8eur05on2072.outbound.protection.outlook.com [40.107.20.72])\n by mails.dpdk.org (Postfix) with ESMTP id 9720540C35\n for <dev@dpdk.org>; Tue, 26 Apr 2022 14:20:26 +0200 (CEST)", "from DB9P193MB1482.EURP193.PROD.OUTLOOK.COM (2603:10a6:10:2a6::7) by\n DB8P193MB0759.EURP193.PROD.OUTLOOK.COM (2603:10a6:10:144::10) with\n Microsoft\n SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.5186.13; Tue, 26 Apr 2022 12:20:24 +0000", "from DB9P193MB1482.EURP193.PROD.OUTLOOK.COM\n ([fe80::281a:860b:67a1:2cd9]) by DB9P193MB1482.EURP193.PROD.OUTLOOK.COM\n ([fe80::281a:860b:67a1:2cd9%9]) with mapi id 15.20.5186.021; Tue, 26 Apr 2022\n 12:20:24 +0000" ], "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=HAatzi/IKH+c5yTgz9Q/r1Pk0NiGNMDjw9IKLvy3y3GJXKbYYzktNaOKv61ihn+QvACIBdK7hbv4YjeaNBwJDXSWvzK7p8YUOr6rY8f3zSAwAWWeR3udzuEkqRoipJCJYG9i+KMV1X22fWiU6e7OcT+eh5cs49sccrK81yMvP/FHSMvuTrJG13R+HCbOf767M+Z69c5eN9MBq7zWOFya5fWGJvteHG0P++023JkVO/TLpHksqykb6MsYFw6nNLMzTNky4HZjjrnHxOk5xjy6smBDDimhBey5m5mIF2DEICF5TgdhEvF8VhokegFhAEU4GHm2Z6dHKbYGPF+kopA4Ow==", "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=2q694+384gxctZJUF8XAG2iIDDoM08XrtClzFd3lNvg=;\n b=T6WumynJrp/ArEs/IMOWg/ys1clc3/mCJHE/bdkSbqiHXeJU8bllm8Pdmj3e3LQa2hBmMF6hhuzJfB3XezEsMVLi2lsf2jqvHI0iyHIeNv+aLDj9CxeOmyM4cWxLFO9dF1jRmoACbrtGpvYeu/7K4Obf9+dFqFjbmaIczqmrPgPAUGb0OeqncYhOLVe3Ro8jXcvygNwI6hYs97dmWYOfr3akADlih7XcZsX6SMTsjzo861E+0H/QlzS8NHt8U6YE/I6oIRbO8BG9o+PnshyGXG9MG3mGzdPttzJtI7y1MQJH6ZQcV3NKxfumalU4LJFJvadO6IXjyC+2qda3Jv5lBg==", "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=xsightlabs.com; dmarc=pass action=none\n header.from=xsightlabs.com; dkim=pass header.d=xsightlabs.com; arc=none", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=xsightlabs.com;\n s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=2q694+384gxctZJUF8XAG2iIDDoM08XrtClzFd3lNvg=;\n b=RqAIUrtfQMEEcvnG98p70L3Kk+hk0xh2JqEXvzaVkp9m7I8JVB3dFdNVAv1LO1Z5ZS/vrPXS7ADsqkMLA6vF0A11V6X6xmHNWIjE/XpDVu9vfAs+Y3BjZ0WB4Gk6su3ZEeKlWhqnvp71CW0KJ7y++6+6cNiVMppiJZLJCcIcpN8=", "Authentication-Results": "dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=xsightlabs.com;", "From": "Don Wallwork <donw@xsightlabs.com>", "To": "dev@dpdk.org", "Cc": "Don Wallwork <donw@xsightlabs.com>", "Subject": "[RFC] eal: allow worker lcore stacks to be allocated from hugepage\n memory", "Date": "Tue, 26 Apr 2022 08:19:59 -0400", "Message-Id": "<20220426122000.24743-1-donw@xsightlabs.com>", "X-Mailer": "git-send-email 2.17.1", "Content-Type": "text/plain", "X-ClientProxiedBy": "MN2PR19CA0025.namprd19.prod.outlook.com\n (2603:10b6:208:178::38) To DB9P193MB1482.EURP193.PROD.OUTLOOK.COM\n (2603:10a6:10:2a6::7)", "MIME-Version": "1.0", "X-MS-PublicTrafficType": "Email", "X-MS-Office365-Filtering-Correlation-Id": "b01095ab-10c6-4e18-d7b4-08da277f2412", "X-MS-TrafficTypeDiagnostic": "DB8P193MB0759:EE_", "X-Microsoft-Antispam-PRVS": "\n <DB8P193MB075985DBCF1B0B6E983A485AA2FB9@DB8P193MB0759.EURP193.PROD.OUTLOOK.COM>", "X-MS-Exchange-SenderADCheck": "1", "X-MS-Exchange-AntiSpam-Relay": "0", "X-Microsoft-Antispam": "BCL:0;", "X-Microsoft-Antispam-Message-Info": "\n l2MmHs3/iAClR8ExVnS/1jbGl/obOyII7vR586vUvaGffotWSWR2J8aa/EL1mOhrt8mkdlge846gfRh8PKL0Dg51J89++L1UOYAK2SAmNr93KWmdbZStt4tMkP4FUolh7mqdXjDczA7bZ0woUl2dtQz9lFP987hHqgqYEyWimEusqoaS0Q6KJru4gNb5iLr9GBKk8Gn8wvLEHGXw5IDuMGtNCCiZgrK/DUf+Ctf25YQWI5npbBWLyrfPF+/YGyetklhAWrBK9pa10JGqS+4nXgrdqe3MFdQz2rSHpb33br0dV7vyOuNUQQ/qfOndYxd8kE2+/sscotdKKLQYwwAWPlOr/Eu5XlNGbqu8PpQBr5lzefkQNPUCOESVloFtxtb/cszqcxDh7q+mty7Wh/LrI519w5wvUb1F0JG9EMhC2L8KLCtaF4iUdsNg/5K6mt0HYDpp/HyspXFukaWrKfA+ZNoHNxXgr4RHcM4Gzcc9CBdA7+0aQ+gwKq5KGdqTcmaGTAX6d28HZtoO0IQkl1w7Fy49ln7WxzebAzu3ZN0Bnx9E7u3Ke+BAXH3LWbadwJnNQihKC6GgiB61ujIDMNI4kuAqYwC4WUmy/8R0/ZeVSYQG85b7kNHX4D+P7vVoIQ5evitbXgEj5vHC8pA+KQy58INldzRm76eefY+pRVyklSDaWQNTwUDENPks5SxCvqfHcJlE+SL/3ZxrSY2SX8evHQ==", "X-Forefront-Antispam-Report": "CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:DB9P193MB1482.EURP193.PROD.OUTLOOK.COM; PTR:; CAT:NONE;\n SFS:(13230001)(4636009)(366004)(83380400001)(38350700002)(38100700002)(186003)(52116002)(6506007)(1076003)(86362001)(508600001)(36756003)(26005)(5660300002)(8936002)(2906002)(66476007)(4326008)(2616005)(8676002)(66556008)(6512007)(66946007)(6916009)(316002)(107886003)(6666004)(6486002);\n DIR:OUT; SFP:1101;", "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1", "X-MS-Exchange-AntiSpam-MessageData-0": "\n rwY/54jnzl7O8xw4U7a70YgkUZ6ksThpKCQkSyTKxKe3WPJ3Ofeal4LvBcttdD8PM/E6LIMUehebxAWrXvoxeqHhYz0TriN5PaXY0OZRz9AYmd8wiWlv/xWU3CgEsf7+8MPUc8NGSy7rwqC+mHmOywZYphxLtQ7Klq/ZvWeLHcZpYdgGEr+UyKPbuxBEY8KS5BLc1zas6HvqC3V4CA1gSDNEAUrpx8kt22P/R4pAUb3jsHPlv4CuCzsuoCrpYgm30CFsMTb++voz7wACyiMqgOVCr9f/LtfvmCtMOLXdrSZyOU7brFl/QsRZOAB+vTxHOmvGnS0Mju8fuRcu7Iz/zpFP1oTMxdW+ThFz20pRQyzaSkVPPcNyOWC1n7TtKpptGR6IaS53vGuGbNsc6cP60dtlCrVqXR+Gy8Zpnfly58z5iMP1N5phz2WrTBF0RSyECDo6wvIuGJG9aUeck7Zs1BzyL0iQxpsRFQ8u8NBjDEQAtM7lQORRD8IYfVb0xG2uU4XgPMx+GGsEdBw0fs9cWL/wLA/vRO0E7Db5H0bYmJEtWdOIQc4+TU0d7FoE0fvG4lk26lgV1vKM/O1oQRarxipDscSfJfTOXuIC3DlrVdgOihKxLm8iyHnQScbeIoGjCaPUC+Xfh8na1RI6ImWBccjSr++8cso5eRa2PdHB+shcrMB9cc820JHuI22siBdtuP7LuK88BxSlPBfJJXoknUfWSB2SMxre49v0thx/ljF6c07N9iF+JeGCAnfZhJklbjlxB2PgRKg7mqCsw18cWWqGYRwvliFc9CG+d7eJaqYoF+JBusAhjW2MTClNugYRFM12uRYrA7U0ywxwXUFvG9ktUNnoUIEPKZpr81NDS9Q99z4oWmF5rNBrVwR9YltE12SXf0RDEcKaerVEbC/Sxz7MNb5/xr5/7N10EkRbnB6Zla9mQvCxyy9hBaEbb22T8VS+ACbykJMwC/zmNaW5BhvlESoJDjFyF/rmAkTnz9hP+i3cbY28poFBiIlxPLLAvNjr9IxrU3LdbcE9egGXMKCFcKmsYlhoC3vqR/mhLPnAQbV6QsamTlVXBq5uQe18r6aL546v4mpQYsMSvgb2VfJo5faf6zi6iu7Gzvl5fxqWQ2wsXVg9t3U/z0umPO9NhbV3+83f7lCz1szf0LFgQ2xYYJWH9qZw0ID9Zaw+xcE92V8KZ2mejuJgIuU3jhoTPKoQ5dQ0OS0MrhpJaA/mmOHTMSp4y7skhf5mB9sUE/nwMX2FFchyT5VdxNuGqk0TtVFGHejfeBNgPepPgdGsRQHFYmDWLEuAx8G7F4PU7t+ybryjVC10NKiI3w3KNZROBhwlaTfMSLNTXzAYoBuhR/oCRtjAQiKPQWdV7eYvTer+J3UI4pjF9FGuqUSJQNiuEBZG4K3LjZ73ifyZDr7+MTp6msndNmiuriDAvo7Gk45/468njZ+ppXjMAVGxKA722aYumSe3jgwSULpBnSL+McSbBoOeZm++xegpdEzi9p8eIoLn2Moaq2wp51djyeCBoE3WyD4miatDvXz/yNvmoSnQOPQrfs0qNCVOucEAT0+nTT/woVHbtL00JpRiRPEoIste21EP2sc6sCiIw08H3wxvHQnkQXmoI5VqKNS+ag9ydzB58PRZEqGAkDQ1eL/36R4OXImMX+PjS6CDqzgwAMMo9s3FMq1ABfZ7F4UOErQa0sEubEuyQbxuPpb8cqwQvYV6HyO/LxDjfzKVHwc31g==", "X-OriginatorOrg": "xsightlabs.com", "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n b01095ab-10c6-4e18-d7b4-08da277f2412", "X-MS-Exchange-CrossTenant-AuthSource": "DB9P193MB1482.EURP193.PROD.OUTLOOK.COM", "X-MS-Exchange-CrossTenant-AuthAs": "Internal", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "26 Apr 2022 12:20:24.6984 (UTC)", "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted", "X-MS-Exchange-CrossTenant-Id": "646a3e34-83ea-4273-9177-ab01923abaa9", "X-MS-Exchange-CrossTenant-MailboxType": "HOSTED", "X-MS-Exchange-CrossTenant-UserPrincipalName": "\n HIkV6LgTsXafWzboVE+/s6FVmV5Z2ES/BZj4Bqu1i+bQKZNGBY3VDm0zzV7HdG25SQN/is780nO1S4Csl4pTEA==", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "DB8P193MB0759", "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": "Add support for using hugepages for worker lcore stack memory. The\nintent is to improve performance by reducing stack memory related TLB\nmisses and also by using memory local to the NUMA node of each lcore.\n\nPlatforms desiring to make use of this capability must enable the\nassociated option flag and stack size settings in platform config\nfiles.\n---\n lib/eal/linux/eal.c | 39 +++++++++++++++++++++++++++++++++++++++\n 1 file changed, 39 insertions(+)", "diff": "diff --git a/lib/eal/linux/eal.c b/lib/eal/linux/eal.c\nindex 1ef263434a..4e1e5b6915 100644\n--- a/lib/eal/linux/eal.c\n+++ b/lib/eal/linux/eal.c\n@@ -1143,9 +1143,48 @@ rte_eal_init(int argc, char **argv)\n \n \t\tlcore_config[i].state = WAIT;\n \n+#ifdef RTE_EAL_NUMA_AWARE_LCORE_STACK\n+\t\t/* Allocate NUMA aware stack memory and set pthread attributes */\n+\t\tpthread_attr_t attr;\n+\t\tvoid *stack_ptr =\n+\t\t\trte_zmalloc_socket(\"lcore_stack\",\n+\t\t\t\t\t RTE_EAL_NUMA_AWARE_LCORE_STACK_SIZE,\n+\t\t\t\t\t RTE_EAL_NUMA_AWARE_LCORE_STACK_SIZE,\n+\t\t\t\t\t rte_lcore_to_socket_id(i));\n+\n+\t\tif (stack_ptr == NULL) {\n+\t\t\trte_eal_init_alert(\"Cannot allocate stack memory\");\n+\t\t\trte_errno = ENOMEM;\n+\t\t\treturn -1;\n+\t\t}\n+\n+\t\tif (pthread_attr_init(&attr) != 0) {\n+\t\t\trte_eal_init_alert(\"Cannot init pthread attributes\");\n+\t\t\trte_errno = EINVAL;\n+\t\t\treturn -1;\n+\t\t}\n+\t\tif (pthread_attr_setstack(&attr,\n+\t\t\t\t\t stack_ptr,\n+\t\t\t\t\t RTE_EAL_NUMA_AWARE_LCORE_STACK_SIZE) != 0) {\n+\t\t\trte_eal_init_alert(\"Cannot set pthread stack attributes\");\n+\t\t\trte_errno = ENOTSUP;\n+\t\t\treturn -1;\n+\t\t}\n+\n+\t\t/* create a thread for each lcore */\n+\t\tret = pthread_create(&lcore_config[i].thread_id, &attr,\n+\t\t\t\t eal_thread_loop, (void *)(uintptr_t)i);\n+\n+\t\tif (pthread_attr_destroy(&attr) != 0) {\n+\t\t\trte_eal_init_alert(\"Cannot destroy pthread attributes\");\n+\t\t\trte_errno = EFAULT;\n+\t\t\treturn -1;\n+\t\t}\n+#else\n \t\t/* create a thread for each lcore */\n \t\tret = pthread_create(&lcore_config[i].thread_id, NULL,\n \t\t\t\t eal_thread_loop, (void *)(uintptr_t)i);\n+#endif\n \t\tif (ret != 0)\n \t\t\trte_panic(\"Cannot create thread\\n\");\n \n", "prefixes": [ "RFC" ] }{ "id": 110281, "url": "