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 16FB53858C78 for ; Thu, 13 Apr 2023 16:23:30 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 16FB53858C78 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 33DEpM5f023464; Thu, 13 Apr 2023 16:23:27 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=references : from : to : cc : subject : in-reply-to : date : message-id : content-type : mime-version; s=corp-2023-03-30; bh=+z3hnJ0LTpxrD2ZkctwA//FhJ8EoI2csULXaycPhpNg=; b=TiHtbR5Ng1P5NqF3kwNdRe7hAGgS7uZTMGNE6am3Ms34bUne3U0rO2dG9SY+AuzfNW6b goWdUYadOT0oChdW6vEx+qyWLjev9mkPWEqxkja9eCVnQaui+BVooYtz6VEJrQIxiAjQ gqDYUPoKunyGObpZhdqQ1VPgftHwOSKVnkos+ZmwHZTjES1F27I2zxiGwUZhkWxU1QQA 3ISuFQXryZ+ce0P2WCdYKihHKPoOVsNkROAHpOXbQ8vZpMg5ZmMs+TAvj+9/7p0hEv+A UFgxLIRkw1ozPRZud+9OixS1rmiSaNRRziJ8CxJ2Ouj9FQTj32UoQ5mhzDZZw+JOVTG/ KA== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3pu0b33q5p-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 13 Apr 2023 16:23:27 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 33DGLnIK012862; Thu, 13 Apr 2023 16:23:27 GMT Received: from nam04-dm6-obe.outbound.protection.outlook.com (mail-dm6nam04lp2043.outbound.protection.outlook.com [104.47.73.43]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3pwwgr9h86-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 13 Apr 2023 16:23:27 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GNeKQC1z4I/Fwn+nLzJUloQV/6gcd5Xt6LfAdFyBLC0jjhn7XNMcYXhzOP5MEIQOxKdsy6GE7dvERWv0+pl9GvsziDGh4vYS5dn6PWu7a+FnIY0XiNLEYcbU99GhUhuEwlJdYmVt+AF09Scq6EnXQsgQ59ciQb4gCzA5tYZAXQtDNAhMRCoEs7SVnkq5ISAyZhreMCxCwn3Apan/697PqDWUzD9cZwI5R5mZtnW2FOUlSAWoo5IHFSVIMEGxHL86tYNXonUYwL37C/Ptyn3f/ue1U3HoCYW0gPbxzT5HP6ovBhzC2aHHcGI8QLG+oTCiMI1DDImk7o2ErZtZF2Bf0A== 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=+z3hnJ0LTpxrD2ZkctwA//FhJ8EoI2csULXaycPhpNg=; b=dYm77IBqc2CDVjiVWgcBVANaicjaMJ0Rf1/3H+0PfAV8mxyiUHLj95RaQ7iuI2Nx5hur36zjo3DTb/ejcZpsCP2HzOGTFqz5idQum8JJwd9tVvbyIPdVAgMN/6JuG27mXBGj3J5kWSiv0xjWci1rw3AuaHQfEyIf7XgVD/FhVMD+0G4zt287JagKu94aB7/KSFFXvmzJgo5Gs8tK1SE/HQAeUyUFjXHjO0dfM6uAFYuZIesNTwBZPdSwie/SpyzRr3fAknmFBxpz4y1N+I03BJr02q+v1qe0OHdo+kDsFjVHXkTD0eMaCOQhyhQ30w3vYeg7QFxeAXyqhxaLrLorjQ== 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=+z3hnJ0LTpxrD2ZkctwA//FhJ8EoI2csULXaycPhpNg=; b=zNRgL98ED4VpaR7WnNRMECnII1aSWrN/Jsp8by7i8qPbsyQ7bayVFhP62VD2li45AsSdsRiBOJC3thYHaHS5J61cEDuaOCE8W9jfniJxLIR+rEy6MdSTXFkUMe/vkAK5rN9HrCaTidtO+/FfxTYalNybg2ECpF4y4jkT/Suowk8= Received: from BN6PR1001MB2340.namprd10.prod.outlook.com (2603:10b6:405:30::36) by PH8PR10MB6290.namprd10.prod.outlook.com (2603:10b6:510:1c1::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.33; Thu, 13 Apr 2023 16:23:25 +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; Thu, 13 Apr 2023 16:23:25 +0000 References: User-agent: mu4e 1.4.15; emacs 28.1 From: Cupertino Miranda To: Wilco Dijkstra Cc: Adhemerval Zanella , 'GNU C Library' Subject: Re: [PATCH v5 1/1] Created tunable to force small pages on stack allocation. In-reply-to: Date: Thu, 13 Apr 2023 17:23:15 +0100 Message-ID: <87mt3bda4s.fsf@oracle.com> Content-Type: text/plain X-ClientProxiedBy: SI2PR02CA0007.apcprd02.prod.outlook.com (2603:1096:4:194::23) To BN6PR1001MB2340.namprd10.prod.outlook.com (2603:10b6:405:30::36) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN6PR1001MB2340:EE_|PH8PR10MB6290:EE_ X-MS-Office365-Filtering-Correlation-Id: 72910fe3-9242-44cd-342c-08db3c3b67f8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: lOZ8qX/ziNEIrUltehIuthrlHb6a4t3So3uUcbCEHqasbnB8wzKh53B3SFYyqPXO4VsHp0/pjbaDhoQjdeDRTkSiLqOfPigafBso4oAc49MoI3ffeyFpYuHyO1/kUmWXTuRfNVqEoBW1l4jv1hf+LdQioOru4rz4sWYO9kgrwh41NC4SVjD5//rYKrIm0XJTnq2XhS7MKGjVr++L4qSrynnWQ6/Ff/XPy2RszPV4vKIHpCIX3JZv2VRUaQB5oVJ9h5PDVV+81f5yw+kqIeqXWh7qpBYtTHKV5vPKbkHacl7ZvY3mdiZY7Yy+SekqOKvG31v05adXomfMjYNNnhKuqc70K3NXKttzkwkFeWOnqWHeZ6PxLJz9ykR5G2jdH9k0FTwlKUIQtLJgWR6MFKiEGYqsbqAu/RzCIaTi9i46rn/uhIVK76+6CDLfZl58bs9hrcWSnFA7+cWmCg/BLnY8mtloLbW2HDQgCrrS+1+1U/CNl0+RWYEKQd0aIQgMCiMdIVVQFxJTp3HEgOkhEzEWIRD3PZGGcEr98zq6NHOcLwtka5+tC25gx5tLG8ljxHKt 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)(396003)(366004)(346002)(39860400002)(136003)(376002)(451199021)(5660300002)(38100700002)(66556008)(8936002)(44832011)(186003)(478600001)(6512007)(6486002)(2616005)(54906003)(316002)(86362001)(6666004)(6506007)(41300700001)(66946007)(8676002)(36756003)(6916009)(4326008)(83380400001)(66476007)(2906002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?ivmklv2fdAzZGvJtai+8iKlB4bojkBqn4ZayCbG81LlNiz8awXXFMmVTyNME?= =?us-ascii?Q?iqfZ4///Sd69zL/JN4lxVgKoqTGG1zeMi6MKowf+gmsRs4xgsFCTGLbNGjwQ?= =?us-ascii?Q?50bjWVVq+CBaMHy9bh5kH2l6mZZvKcZljxbaowC9acW+DF02ac5BuAb0B4BF?= =?us-ascii?Q?11Kfv9vNDc4GSCXBzH+DgCafZpWzRQdWjpU2JjLMBV6NUUqpTgYnVw01br8J?= =?us-ascii?Q?0e3yj284bTOxNMHYjfsrObPKXwAMY/8H40QQIU0SlyhCKhVzTexTyIrWiKhM?= =?us-ascii?Q?x0w+fJCWSwfXQX7imLa4secZrWRuzZiMmWGapYErhCPhnQJbL9N8WOq76i9y?= =?us-ascii?Q?iLnd6qV83xV1TL0QyGMRmeO/gpsFuiHj7ZaTTOkRx2Kf2loQ0my58TstnvWm?= =?us-ascii?Q?cue8OxRbjpUECBr90ClnNuGRIMYE6kKfNbYrF/4KGZb3lixUwnd7X/dIWI6D?= =?us-ascii?Q?sRYin8eWApPCfDEJ/teT5eWxp/BtcqE++xEhI0ZOv0a2evnLQjuV0gPGcc3C?= =?us-ascii?Q?OP9/+UImmjqhxGnMdL87oz3CUoHSgMAWf0zmk5xeLu07tMBmSTP7rvYjVzhC?= =?us-ascii?Q?5QiJxBSrDFSpVjS7T1JJAj1MDNpURDg4FwC40sx5vXLoNArggu90bhZfHWY8?= =?us-ascii?Q?qVgCAiMEVZWWxxyQivtmQuYxgU+fdOtBK9eGzNIi4KuvvfjXkpY0UYDUUV7B?= =?us-ascii?Q?0wU9fmsP3i32cbHttM/KRn9fPcKJKFX+uyyQ5yVKS+vI9ZZ8jaBD0LwI9kzb?= =?us-ascii?Q?9w7xlN7frb1YY+9TxDIHte00g9xrxA8HOxODVPdDg+bgL8ooKxHLFs0oxj2Q?= =?us-ascii?Q?DlvGDipF0Ck15fhK64ioBNfA68pU8NUPDhQRioHTM2FPyoH94HNKn5vf+8IN?= =?us-ascii?Q?tc11U2zDieIfqOvPxwaQrmUd3bVCF+l/5lTELckooboRZhDaMGsiv5OD5yAR?= =?us-ascii?Q?VTVuHkfay4wxTGtnv52Qm/U8rvlYJlwipg0ady/msdQr5PVElU//2QgOdwzy?= =?us-ascii?Q?0Y3EquepLm9Dy3btT9kwT0Xxr9sVL2/AVqXsgkQee+J1GAvgRe4HFxDNAKCo?= =?us-ascii?Q?4cFwKnnQynL8yItz2wrs/ciLbdw7+88nUcqkdy/u8DHEBNlqHPgrPp+3gXGj?= =?us-ascii?Q?cFUw3PPzw8qA++9oy5Pgfa10jyWZQWrKCZvRhNhRnTXtDL1yPH97IAQpzVtg?= =?us-ascii?Q?CZe0vrfUkMs5vsPWbdVDncSFoqd6UKjAY5OA2NuvrRaEg659hTy+ZO9vgP5K?= =?us-ascii?Q?3z5plW8VNF38DCGZNdOQ3T5l0Kmiwx0M517cG2PHIspCQDLkEnm6F7iGjBwF?= =?us-ascii?Q?IGxqtLupn6aEx9THsZcHWT0tIQqpRxgoOZt2EKle3hTEN+d0i8i6ZSyeMp3/?= =?us-ascii?Q?D+xKq1Fi4Uj40LLXc4DMUYFxLHc63eVW3uOyv569N9SangfmGxORqXI1idZb?= =?us-ascii?Q?W7zQrnnqnYnCsWs2cNj9NyWwyTjve28XiAj0+lesLSW8mNhsM7pwETUvpG59?= =?us-ascii?Q?G3jMtUoorfggvsvc0iatFPR8M68fIMGiIkWuCN5FhMTUoegniqm8hh3aqo7V?= =?us-ascii?Q?ZtrFx3kMFGoyxT+bOacT2xc3xgJswPt/EBrsQxgxESvzQos7c0NWBNZ2g8NI?= =?us-ascii?Q?HS0DpFJCYbAaV0sGPUv7bWA=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: vi/KWMPIxJo/Ep1jm0F050jQFLwp8vMnrv1GfxYs87IQ8M1sm6AYpQnEd0m2DUPZhyMoXgWO1H2rhXNk+2EQ7JXc+WsoXmncnv+z/UEnoeT+0fXCkI1JkJW5uLzT2iWc7xJNbGUBORO5DtAe41mhvrQvKXj+BKnF82tMEPKLIXkDX8K0+R2G6WTMRiCnsCqbRD9xMp6b2cRMNdi8bCbLJZgFtel8S1GZ9qaQUEZTLSAZ6zXpdRrT9ao7lS05QM0LHkv3osU81gann7w6bZEXukb5vWIWS7f/AfVUZyNiksM1qi4viI6U4ik+v2FZZtPol6SmUhtQI+oftbQ3wU8TtqTQw5S3G8pzDPPKAqQPyZStsp3ev2astpKIpUuGeq3lcMuaM79gn+p9pC2XTzZK7qHWg2mJeFCpDCHrC5fQT0WZ1X3oJFEN3aBv4yYvmxteSS46qk0jq2QfRkS5LSZ7NEtqkJCsOAcMM0Jf7H6qKQ0Dg4fSBYh1DhqWtpX1fR/sMwPEHUL9oVd5eN2o0i6WcuOTRUpX4hiNyK2HJGaESOaHzTU2pcpYxMul+Ri5CLpOYXUv0LkSqZbGZUu+ltlYdTyJxIooQnTmhq5nssaD4r+EjOjS3pnWADG3EkVMEzmu+6FS/TE2fqsBwT1MMDaytqSjcbfAzu4g1wOg9Eq0hO7vl0Ezec1mEpfrM8kPUSVvDlN7BDB1YgVu3vMhQ68GfilAXAj1sfbVpRBjNOfcKw9tjMpkRU2cQ6yTSh5curojVflLKp+qmtyQ5Ory9C9GMBlel1K6qP/maeD+j3ifZbGDXMffHFeioX7Hm77NdWFn X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 72910fe3-9242-44cd-342c-08db3c3b67f8 X-MS-Exchange-CrossTenant-AuthSource: BN6PR1001MB2340.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Apr 2023 16:23:25.0479 (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: Gor+FwYvUqEWgrgJiSC5Wbz9T+28Gg1YhPBjvWZrowbrbN24XEeEI8oYlUIwVtaHWDi6gkGCsgQfypUnNYoCcVJgGrhe0Uchsea+RlfgBjw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR10MB6290 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-13_11,2023-04-13_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 adultscore=0 mlxscore=0 mlxlogscore=975 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2304130146 X-Proofpoint-GUID: GOXcryIt6c03ZP0sajPVsh83FWVehek2 X-Proofpoint-ORIG-GUID: GOXcryIt6c03ZP0sajPVsh83FWVehek2 X-Spam-Status: No, score=-5.9 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,TXREP 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: Hi Wilco, Exactly my remark on the patch. ;) I think the tunable is benefitial when we care to allocate hugepages for malloc, etc. But still be able to force small pages for stack. Imagine a scenario were you create lots of threads. Most threads barelly use any stack, however there is one that somehow requires a lot of it to do some crazy recursion. :) Most likely the heuristic would detect that hugepages would be useful based on the stack size requirement, but it would never predict that it only brings any benefit to 1% of the threads created. Regards, Cupertino Wilco Dijkstra writes: > Hi Adhemerval, > > I agree doing this automatically sounds like a better solution. > However: > > +static __always_inline int > +advise_thp (void *mem, size_t size, size_t guardsize) > +{ > + enum malloc_thp_mode_t thpmode = __malloc_thp_mode (); > + if (thpmode != malloc_thp_mode_always) > + return 0; > + > + unsigned long int thpsize = __malloc_default_thp_pagesize (); > + if ((uintptr_t) mem % thpsize != 0 > + || size % thpsize != 0 > + || (size - guardsize) % thpsize != 0) > + return 0; > > Isn't the last part always true currently given the guard page size is based on > the standard page size? IIRC the issue was the mmap succeeds but the guard > page is taken from the original mmap which then causes the decomposition. > > So you'd need something like: > > || guardsize % thpsize == 0) > > Ie. we return without the madvise if the size and alignment is wrong for a huge > page or it is correct and the guardsize is a multiple of a huge page (in which > case it shouldn't decompose). > > + return __madvise (mem, size, MADV_NOHUGEPAGE); > +} > > Cheers, > Wilco