From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by sourceware.org (Postfix) with ESMTPS id 601873858C3A for ; Fri, 14 Apr 2023 15:12:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 601873858C3A Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oracle.com Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 33EEmv3c032177 for ; Fri, 14 Apr 2023 15:12:35 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=7qLXG7nXSFSZq28kbECw3IXA3jSlWGSqjE6J1XNgK3o=; b=sSsBYA8JHcI+jrDN3vPp//ci/FxFFg43uj/geZ9TCKXjHUDSE80nosE4D3SUog+bq3Mm vc8l4kdHAyRDEykls07/8jGIgbBgYQ9xMAbwND7vWX0dRrkq+lIICu0C6g6ff9dRtxx8 g0KUstwVon57ToczVAVXqdv0vC0pmPleFsMiNUcHWIXpfdcScTbcgVPgPTryfMBYRRQv 1TnIbZu9f4YJh421QYj7mff/r4eryI8p2xaDIouoG8hia/9fW+ZVC/sH4ORX/0sWzDx1 /0fX3/8K14ERBXcjQKid/xWVXx/pW15zEJ8u5Rs7xvVaqw4QlTQ8Nc8Zw94N5x4YtsLt RQ== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3pu0b36839-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 14 Apr 2023 15:12:34 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 33EEQxvR040425 for ; Fri, 14 Apr 2023 15:12:33 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2042.outbound.protection.outlook.com [104.47.66.42]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3puw8c0w57-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 14 Apr 2023 15:12:33 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nn3NzlfWCHHnBqRdCfJc4puqo9lPOThcxMwZefXhI/LzvYWRNmG3aCeWzQ9ZXbNVR3yJfYW0CpNcO196Fdkd1ap4NKRWdgcY/VSJJ0rSNyTKBWQI3hDIIMco+w8bfF91FDqVMYj8mmx6VUpN/zis5bELwxgsK0RVuWfwMRposHEC6CA4xTGsmNSHDmeV/I+uTVIfLWQ+D4x+8s6g5TxMlEqczf4tTgUnl7dyvGnPcViSfxdfRBjffwW9c6HvGONMdtR3HZzPFlm4n2lg+NKX2Ca8v9VradhCmdgdZlvLUgSu0rf+3aE2c1iDBr43cVhcDtKFP2OqOzvPCcEkIGdf6Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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; bh=7qLXG7nXSFSZq28kbECw3IXA3jSlWGSqjE6J1XNgK3o=; b=fmTNnwzbQ90K+9NBX1deU55mphtFo7xZIbQ67gL5nFyN+W0azmv8lLTdGD7fx3Ttjz7YopHygwb5IkVsMDh3H1NlkFe3t/MXV5XK9GTSOipPTZj7jvfoWOYNdmQDqDexzn6/lNe6sDHi+aUNlOsEf8cdH1Y65MyMU09RROgi5AFvoUjIaW2b13n1o3KVWb/huQqUOfIdF77zEIF5QhsQ7Gg4PBNBpzcG9K4PKDadY6l586d+n6IpsBVRglcK54EcgAE3LjXazNGhPEZJKpgFYBl8IvFXKoqPnifzghDQUfzJkT8tSjG8xjB6rEaZQ5i6wr0g7FLxV6k4Lt576B6+Rg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7qLXG7nXSFSZq28kbECw3IXA3jSlWGSqjE6J1XNgK3o=; b=ReY2o4scYrAprGlvXwjvgLLRkLdqBWmI+geUnpZ62+DilY/yn/ReYY5HJlHoAfi1SrC3trihgP9XojR3/DpB2W804VwK7Tf2ZLdc/ZvVr/d069t9pUkUIGtfwbp0fYtGaJcIasHoy66h5toSRH+9odWyCPFYRPtqetVO8fiwI70= Received: from BN6PR1001MB2340.namprd10.prod.outlook.com (2603:10b6:405:30::36) by SJ0PR10MB4431.namprd10.prod.outlook.com (2603:10b6:a03:2dc::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6298.30; Fri, 14 Apr 2023 15:12:31 +0000 Received: from BN6PR1001MB2340.namprd10.prod.outlook.com ([fe80::4998:96fd:86b1:a388]) by BN6PR1001MB2340.namprd10.prod.outlook.com ([fe80::4998:96fd:86b1:a388%6]) with mapi id 15.20.6277.036; Fri, 14 Apr 2023 15:12:31 +0000 From: Cupertino Miranda To: libc-alpha@sourceware.org Cc: jose.marchesi@oracle.com, elena.zannoni@oracle.com, Cupertino Miranda Subject: [PATCH v6 1/1] Created tunable to force small pages on stack allocation. Date: Fri, 14 Apr 2023 16:12:20 +0100 Message-Id: <20230414151220.52040-2-cupertino.miranda@oracle.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230414151220.52040-1-cupertino.miranda@oracle.com> References: <20230414151220.52040-1-cupertino.miranda@oracle.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: LO0P123CA0005.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:354::17) To BN6PR1001MB2340.namprd10.prod.outlook.com (2603:10b6:405:30::36) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN6PR1001MB2340:EE_|SJ0PR10MB4431:EE_ X-MS-Office365-Filtering-Correlation-Id: 64513d07-c91c-4807-7784-08db3cfaaaf4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: FljYXqb3nRjKrEoUEwJ4JJIFN+IPvZRlMPeyhv7kc+GTv5H8EpZm/5zOQJLzOQrD9e9qodLsAbZUXeDBjJeU/+gP5h7LKmJ+IatNbbMO3kc0aR3yJPc7lHjTfXq5h73aqJAED1K/q7QtNsEzkct9tI7kAlvR5T8Harlpmle1KEmlJf/18WhR+s4yAR4gII6VlWJeK3R1nTWL6wxwkZ/kvxvCGvk56naGiuHv/4kR0CoVVOSkYdhZzROezv3Fk0wYDGiYvBwV6QgTkEH6UNPtEyoVZtPDG7/Jxky2ldHefpLtA7fYMBOSg7fmNnQ4MiuEYfLrCQI+MBeuQKBCz43TMOSmfDSQJHa9DL1XarXIa+uf3Oi10eY8btb/SI+vEd+3gSOi+Q+ClV2Z69esUvYVN+nL3mfVQJQgMb8mBnqs24f7YWkaj2dxKoy9+bZNiigWDtpSf4gZxk/VoTvTREdGjBulT4cFxsCg2/ggBKnB39sVvQFxZLSiD00S3wr3Fu/WjpAAIkRy4gOx3wZXhYt0GbGA4IwjUN0t/f3jiJ+I9Z57+nDwoQZBa/u3sMdITPKz X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN6PR1001MB2340.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(366004)(396003)(39860400002)(346002)(376002)(451199021)(2616005)(6506007)(186003)(6486002)(6666004)(478600001)(107886003)(1076003)(6512007)(2906002)(44832011)(36756003)(38100700002)(5660300002)(66556008)(66476007)(66946007)(6916009)(4326008)(316002)(41300700001)(8936002)(86362001)(8676002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?SmXeUSrK6bXJcMb5c65nFXIVoYBDainsIZzOSc8OGtYAYBn0cBeWUBRayJjG?= =?us-ascii?Q?7HHohSjXQmL7xl+7H8qVtSwPzMHfY4ztJ85gFxZ5kDbkueSHBXneOeS98d/Z?= =?us-ascii?Q?91Zz1n+SciAmSWucsqcjdLXcUiTdF3phq59Ik2CeYAK8gMgSP0nFaQbWgs8s?= =?us-ascii?Q?mqHChaNJC0qgq5iczm81R2Z3gplSHa6ztf1ACN1cb7YcKVsnwusz8s79lXHs?= =?us-ascii?Q?n6usISImRnJWZun8hiVGUdUkr3Y020WKgwQE01tyYnwsm5AKGAXqitifDOge?= =?us-ascii?Q?obEBLbMkHmkeE2MBYXQzbRo6Rl0RiX5I4+oKOsKOK1JLZWQ5lfSXjLgYs7OM?= =?us-ascii?Q?5oCl1U/CyY6gJ2e8aa7+pYEV28RpRY0K/867INchDqOdoT7ZMjasqpB0hc4s?= =?us-ascii?Q?n8Tv8ou4dYqggWXAc1sGVplt540qO43htli5yWoSPy9huT10E7A59a/gIxx8?= =?us-ascii?Q?f8ZSvjWYSi4dpRhNmlaOOavyu6JlG9jw532Yo04mToPnGNI4bj80baj5uvlS?= =?us-ascii?Q?JlRyGhqw9Q2eYWQQoQsIA8kGSMVCkn8dbARsSAXwPIcyxv9Ml3JsvmZwsKaE?= =?us-ascii?Q?xHyXFUzetJTBND0QVd9PQXo18iUfIw66sWXNfcs8j2Z6W10F3V8X+fbKeP0B?= =?us-ascii?Q?abn8NnYBAgd2M/3VOjvUK/6BTd22XJcCEqWrhSKYKjgG38PfBZaPWHHYSwli?= =?us-ascii?Q?EfTRsC1jIoAMzSWTpzDcmPVnyk5qJ+C1l5bSq0TRnR0VIP9jE7yyZT8y6Vky?= =?us-ascii?Q?lTP6dtEklfdakcimpfwWboQG2pRp9rc0crHvEOULYMu02xxPaJ3FA+bYWnFQ?= =?us-ascii?Q?kTuUNRookD4FrCrWLrYdntgkLtIMlNtbOon9KgQfAm1uBlglXU7dX1WS2U2G?= =?us-ascii?Q?3+IVRXtL0SSaF4L2ub/ld16dQQW4Qp2nEX2XMwTgrbQ8PrYQXRv6hqVhXUP+?= =?us-ascii?Q?FRaOyt2/tWY9KT3I79ISsifjUM/H1mLZz/H7Y2T4vk64ABjy6pnqC6GovrBJ?= =?us-ascii?Q?7PlEjmkRUsZ8IgR9oNs/oYKjGH+cCQC0B9itB46TvJghzbsHPRGewfKsRiQ9?= =?us-ascii?Q?BaQQNFa4cecrz8dcyc70ELtM3KK98XkrgBfH4RtSOBbeCc5uQiek6V1tTrio?= =?us-ascii?Q?69jmn15wivRZWerl8YG+aYvtHCMbJ2ANIYksLNqE4IzS11tqlSL5B3Bas6Mo?= =?us-ascii?Q?6vIn7JKQFyGUmaVKSjF+/FxLzL5N6eTJBM9g/GJsXgXgHUw1qppDH4HyKYYz?= =?us-ascii?Q?jCmY8+40J/Bp5uEHfI79Tm8FF3mPUwe42WeAmsubU88xHTu/uFxP8gMYLEso?= =?us-ascii?Q?c/S9NaYueG0sGu3i/M9f+HZIEYR+d+QIU/gBzZwU6Tz5b9MJLqm8awdpR19J?= =?us-ascii?Q?PqiIXA03BjVmFKTrgnT/bLtjU0uYq2qasc81/Fhxzltwy7F01QResgtACLrk?= =?us-ascii?Q?C9dOzjuHNBS6hH11MAKDn+78lypKSfrf4vpKR9q+URUqVVwV+jHhGxr9/m9X?= =?us-ascii?Q?pW+Ip4Zz3OscFNO4jAgJzDkqJ5iez1Zdr6L+hFjTgpXzHbCnd59cJKf62JBZ?= =?us-ascii?Q?IyLoLflPts7S8VnrgJxZxL0V4SehsrhfCrHh6WT2ZTRhgXRVMznh4TX2F4ms?= =?us-ascii?Q?U/PQ2gGZMa4ry7NhQB/IGB2EX9tcWzg/HfD5Z/5Dy7w6?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 54C42RvFYcQrzvgFUuf2UjMXzSpdco5y+sTbovNk5tnS9seh5VFgwMWUL2nKnSz5tOzgHLU4t2bpMYi6Ajv5c3EbrAA4s8AoNfwB/I2PI3vsfBfmDfmB8DnPWuIWf29n7g9igz7SX+uoy2wqbDQFvzLFWiSOdcNaDEhryorJaRCNqxHCQJJxbnV8t1EEhE2LWKdzfOgC6nTnOWGz1Ijfh3JX8fhzAPRWmZ/0mNobyJnKNVUrk6EVIu6WR7mkQkUkFot0x/wNkgiDGEnG86p5NEKqUdThIAchdlEogETXvfG0+YxqsyXTxE6nstysohcnCgg2S/RVaa5yo6ZiDRznmuwRP7Ock2l1q0LDcZNrQkKER8f5SVIj88eF2pZ6etMl2WWDOTZdn/9kHuihOmQqNd/1S6/95pbxUqbFGA3Hx+/b+ybc4Ni3NMIk/BEfeLr4gP9YN5Sy7ICLxSw8Fa9mZQA3ORN0/y7wPeGZFs9LH+TnuGq6Kun27FLyaKyhwrTjaBX/gL+Chbr44ZN4LZFNhsWxcUf5wh3hNU6NLlKDrWhevZAAZb7P1kBevSRbkkSk2zVKhHzuoiz8/Z24TCcQweYI+X2bkcMl3CoFGjY4RcmF7P7Hymw+U2qZACtLDhocQdHnWjDaKmQUlwuoJUnsF5YqWwOHEPdgT00h552Pt5mbMhSuCxmdCcQDUG9uQYJwfZ63hqAGePqTU5kJ/WnBBnP+WwjS1BbLjXE/9jBNVzbO+qRYTghmQwjuSFuDXhyY X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 64513d07-c91c-4807-7784-08db3cfaaaf4 X-MS-Exchange-CrossTenant-AuthSource: BN6PR1001MB2340.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Apr 2023 15:12:31.3585 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 068zjniuOkRCHiG98q5DfRIInVmBrFrIYDg7yF1B8N74DAf5LnFTHoeX1XXww7AFWeF4Umg335d/HKm3kzY+k91f7lVIPbdq6BY83k/TWfQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB4431 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-04-14_08,2023-04-14_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxlogscore=999 phishscore=0 mlxscore=0 malwarescore=0 suspectscore=0 bulkscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2304140133 X-Proofpoint-GUID: 6pfjyn3IJ241eTpIjKpfgboE95ulxbFC X-Proofpoint-ORIG-GUID: 6pfjyn3IJ241eTpIjKpfgboE95ulxbFC X-Spam-Status: No, score=-12.0 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Created tunable glibc.pthread.stack_hugetlb to control when hugepages can be used for stack allocation. In case THP are enabled and glibc.pthread.stack_hugetlb is set to 0, glibc will madvise the kernel not to use allow hugepages for stack allocations. Changed from v1: - removed the __malloc_thp_mode calls to check if hugetlb is enabled. Changed from v2: - Added entry in manual/tunables.texi - Fixed tunable default to description - Code style corrections. Changes from v3: - Improve tunables.texi. Changes from v4: - Improved text in tunables.texi by suggestion of Adhemerval. Changes from v5: - Added a new entry in NEWS. --- NEWS | 3 +++ manual/tunables.texi | 15 +++++++++++++++ nptl/allocatestack.c | 6 ++++++ nptl/nptl-stack.c | 1 + nptl/nptl-stack.h | 3 +++ nptl/pthread_mutex_conf.c | 8 ++++++++ sysdeps/nptl/dl-tunables.list | 6 ++++++ 7 files changed, 42 insertions(+) diff --git a/NEWS b/NEWS index 83d082afad..40964d2ee0 100644 --- a/NEWS +++ b/NEWS @@ -21,6 +21,9 @@ Major new features: * PRIb* and PRIB* macros from C2X have been added to . +* A new tunable, glibc.pthread.stack_hugetlb, can be used to disable + Transparent Huge Pages (THP) in stack allocation at pthread_create. + Deprecated and removed features, and other changes affecting compatibility: * In the Linux kernel for the hppa/parisc architecture some of the diff --git a/manual/tunables.texi b/manual/tunables.texi index 70dd2264c5..130f94b2bc 100644 --- a/manual/tunables.texi +++ b/manual/tunables.texi @@ -459,6 +459,21 @@ registration on behalf of the application. Restartable sequences are a Linux-specific extension. @end deftp +@deftp Tunable glibc.pthread.stack_hugetlb +This tunable controls whether to use Huge Pages in the stacks created by +@code{pthread_create}. This tunable only affects the stacks created by +@theglibc{}, it has no effect on stack assigned with +@code{pthread_attr_setstack}. + +The default is @samp{1} where the system default value is used. Setting +its value to @code{0} enables the use of @code{madvise} with +@code{MADV_NOHUGEPAGE} after stack creation with @code{mmap}. + +This is a memory utilization optimization, since internal glibc setup of either +the thread descriptor and the guard page might force the kernel to move the +thread stack originally backup by Huge Pages to default pages. +@end deftp + @node Hardware Capability Tunables @section Hardware Capability Tunables @cindex hardware capability tunables diff --git a/nptl/allocatestack.c b/nptl/allocatestack.c index c7adbccd6f..f9d8cdfd08 100644 --- a/nptl/allocatestack.c +++ b/nptl/allocatestack.c @@ -369,6 +369,12 @@ allocate_stack (const struct pthread_attr *attr, struct pthread **pdp, if (__glibc_unlikely (mem == MAP_FAILED)) return errno; + /* Do madvise in case the tunable glibc.pthread.stack_hugetlb is + set to 0, disabling hugetlb. */ + if (__glibc_unlikely (__nptl_stack_hugetlb == 0) + && __madvise (mem, size, MADV_NOHUGEPAGE) != 0) + return errno; + /* SIZE is guaranteed to be greater than zero. So we can never get a null pointer back from mmap. */ assert (mem != NULL); diff --git a/nptl/nptl-stack.c b/nptl/nptl-stack.c index 5eb7773575..e829711cb5 100644 --- a/nptl/nptl-stack.c +++ b/nptl/nptl-stack.c @@ -21,6 +21,7 @@ #include size_t __nptl_stack_cache_maxsize = 40 * 1024 * 1024; +int32_t __nptl_stack_hugetlb = 1; void __nptl_stack_list_del (list_t *elem) diff --git a/nptl/nptl-stack.h b/nptl/nptl-stack.h index 34f8bbb15e..cf90b27c2b 100644 --- a/nptl/nptl-stack.h +++ b/nptl/nptl-stack.h @@ -27,6 +27,9 @@ /* Maximum size of the cache, in bytes. 40 MiB by default. */ extern size_t __nptl_stack_cache_maxsize attribute_hidden; +/* Should allow stacks to use hugetlb. (1) is default. */ +extern int32_t __nptl_stack_hugetlb; + /* Check whether the stack is still used or not. */ static inline bool __nptl_stack_in_use (struct pthread *pd) diff --git a/nptl/pthread_mutex_conf.c b/nptl/pthread_mutex_conf.c index 9133384d47..6517899718 100644 --- a/nptl/pthread_mutex_conf.c +++ b/nptl/pthread_mutex_conf.c @@ -44,6 +44,12 @@ TUNABLE_CALLBACK (set_stack_cache_size) (tunable_val_t *valp) __nptl_stack_cache_maxsize = valp->numval; } +static void +TUNABLE_CALLBACK (set_stack_hugetlb) (tunable_val_t *valp) +{ + __nptl_stack_hugetlb = (int32_t) valp->numval; +} + void __pthread_tunables_init (void) { @@ -51,4 +57,6 @@ __pthread_tunables_init (void) TUNABLE_CALLBACK (set_mutex_spin_count)); TUNABLE_GET (stack_cache_size, size_t, TUNABLE_CALLBACK (set_stack_cache_size)); + TUNABLE_GET (stack_hugetlb, int32_t, + TUNABLE_CALLBACK (set_stack_hugetlb)); } diff --git a/sysdeps/nptl/dl-tunables.list b/sysdeps/nptl/dl-tunables.list index bd1ddb121d..4cde9500b6 100644 --- a/sysdeps/nptl/dl-tunables.list +++ b/sysdeps/nptl/dl-tunables.list @@ -33,5 +33,11 @@ glibc { maxval: 1 default: 1 } + stack_hugetlb { + type: INT_32 + minval: 0 + maxval: 1 + default: 1 + } } } -- 2.38.1