From patchwork Thu Mar 20 21:11:00 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wilco Dijkstra X-Patchwork-Id: 108661 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id A56FF3857B8C for ; Thu, 20 Mar 2025 21:11:54 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A56FF3857B8C Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=ZT5Id8i8; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=ZT5Id8i8 X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on20630.outbound.protection.outlook.com [IPv6:2a01:111:f403:260d::630]) by sourceware.org (Postfix) with ESMTPS id 1F1C43858C60 for ; Thu, 20 Mar 2025 21:11:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 1F1C43858C60 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 1F1C43858C60 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:260d::630 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1742505075; cv=pass; b=Da5+8PdTjtl2/pJ2BtJYOj/3DVTLEs5AsIRQGjCH6D1jPtgq+bMOW44T1JeQyKeFpyZGxctFsFq5XrFy4/TAiWdJy5kWHwSCMe3RCej0FadNFt/qAW7R/I1QxZ+UJ2X38rse8LqYnpxQyh4iD2uXDu+BtkXss8LS16y/4/TrTBA= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1742505075; c=relaxed/simple; bh=uPWujxVML6q5yYim6NpFtXRS0wchvKCRpdoa5kKdJ/8=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=x2/onHAVkmii3rtSLnLfIA1lg04ENIoQw5bAjRVmnarOAAm+3lCdNIOGaHynXstw3tNO7C96/hLfMwJnm57GJfEDAlKe8CzuJopDv5lCSWMWZGeqX2BZRd9rkdDYpqMW8ylqG93pryx+qb50IkaJlaLynXQwoHOomlvSK4ic2G0= ARC-Authentication-Results: i=3; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1F1C43858C60 ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=SZroyIShE4/ZBkd5YJoy/724ko27EIRJohQh1WAvbGwEq3+RgaeqlZkKyPONMTfDrqoJT9p1PJpARZFy/36HZkXxRwk8L6fuwoVDZQJPFbcy0bglVP70waQ+TKdBdefoA7hCn6v8R+IGbEQ8Re/xlkFvwxyi0LwVb8yljN4PYeFnDZXAjAlk7AZAD70Im0y6h128oqY9wzO1WGLqP0nzc0MHk2fynXWdUqoFvj9jaXs5PmH239EZcozLaO2UNXzEa/m9FIC9aiwNDavinnF/GMYQ+noceiS+jM34CLfyXr7cUT9MOOoBMYwQlvANuBHbtK1Qvew1ecg91R3xNfKC4w== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=sC3rm7tK3C5jD7pu/NppiYom4hPPSEvIKrOfXUozfUo=; b=zQN04MkLWWfgrPMpuXEDTkxkLjcFQIbc6uD5CbbRtey9q5fS+7end4ywR5ZSWN26+CwHSBjcZ2z6Hy3W6R2r3IBEni1PPegqV0SKUCbuZywxDjOnzgZi+qiNLxJGHb+QIPn4XGvtboCnDwWzNoiYM1QcD6KpvTfXDG3b3ZmTqAfBFzQWt7/LZNyW24hoMa+rZyvNacw9LloidfBoMkeOP2JsTKbce/oLLLTWvijmOxW7sWGMhCtoHgdXfq4aIfASl5mpZVxw1jTYvGr0WM/lKxCSRnWm9IMHovOIVGe/0lpSL7IoKgyHYEUGVwhqKaiY4a58d/3KsE8Wha30i1gR4g== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=sourceware.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=sC3rm7tK3C5jD7pu/NppiYom4hPPSEvIKrOfXUozfUo=; b=ZT5Id8i8m5PstzTW4UtR/ntfdZwYhsVStxA7DkAWe8bANZqFyoh9wBfyuwr6GQLzxo6YmSSQOe6HLgRy3bVWLe6gu8iemLPanbPAiw52YyvOOhUgUAwYtuFMyafD1+F80M9PQrSfERvUkgdorE+XJJt7SDTK63uExNoi7P1jiew= Received: from DUZPR01CA0257.eurprd01.prod.exchangelabs.com (2603:10a6:10:4b5::29) by AS1PR08MB7563.eurprd08.prod.outlook.com (2603:10a6:20b:472::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.34; Thu, 20 Mar 2025 21:11:10 +0000 Received: from DU2PEPF0001E9C5.eurprd03.prod.outlook.com (2603:10a6:10:4b5:cafe::7a) by DUZPR01CA0257.outlook.office365.com (2603:10a6:10:4b5::29) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.33 via Frontend Transport; Thu, 20 Mar 2025 21:11:10 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=arm.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DU2PEPF0001E9C5.mail.protection.outlook.com (10.167.8.74) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20 via Frontend Transport; Thu, 20 Mar 2025 21:11:10 +0000 Received: ("Tessian outbound f5c0917b0a40:v597"); Thu, 20 Mar 2025 21:11:09 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 302ac32f7ea5c3fe X-TessianGatewayMetadata: 9iWIVoZJ7yaLQrygEdLhdXAb0VhL9SINnCNTRfVunG6IEdm0Zd+5GkKsvJLbuN3HtYH2g77u2uvwsr9Y4u7WVhwFkhBwDQo1Ce2NFuYh/4W1bacTyMJo8Tf9oN7gcScXMSEzSsh0ZVoXvTLsfHAxdW2JMOUXGGG2gQFP455JsnTz7Wdwxhs1frCUGvLQLEhwICvejE2LXh7qpdaVpcpIPg== X-CR-MTA-TID: 64aa7808 Received: from Lc96f6918c908.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 8CEA62D0-F6AC-4347-963F-104846906773.1; Thu, 20 Mar 2025 21:11:03 +0000 Received: from PA4PR04CU001.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id Lc96f6918c908.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Thu, 20 Mar 2025 21:11:03 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=XSIBeKiAp0aeicvGi6cZMU4789dJiT+3A6P2YJOChjaKSxLq9FB/qe2hVXTJeKMJmzohZxMCF+cxLPEr7hpp9rh2G09lqWKcAM65uhDbaMm3N2d9IYEK4/MP+QhDaCZzB2vnf/Zvho6MDH5dZczxTOvit2K55kbkoGG8JwMNgvzQpCzAE2TGKMDeVMwMrQOABT0dQocBXlvbZcasBu1GR84PA0EWoA2CH4OE9Q9K39NFmUoFz+9WxGru0g4BliPhHh7rbG/GKpgVq9TwylJf335x5iC5GbPNekP483A05Jp8ygzG3/FDCSjadStGmitL7t5mh7IbL0QnuUJfyf0D9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=sC3rm7tK3C5jD7pu/NppiYom4hPPSEvIKrOfXUozfUo=; b=dL0nnFNMb7uTjyLX1MnLHrE+2SGPtAX74scVqgl44Jlq8REeKlpDHkVLGqKzFDuAFXsSLMuCATQh3B1sYUgv4HnJYEPry3jWrM8tDTDV7oZjObHfqRZ49Kr6ND16cAejIhoEJwb2ZmblKpwVpzAIDR+d4RbEcmfRedBJYYfYspjDMhQmNJNLaff8x1PehdmaVCyCrwoPpMzUT41ZUJ5cfeX9svyJHW4lOEs0zbpFZ5gwGSNaXsSfzYMTacNnIzcHZWZWYKRCVYX597Bin8J9Ru6AlDneVLbc/Bu5p/bFp+EvCQcbqwUiVnMc+8mnSwPrsNIrHjCHoLNZTnt2A8gjAA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=sC3rm7tK3C5jD7pu/NppiYom4hPPSEvIKrOfXUozfUo=; b=ZT5Id8i8m5PstzTW4UtR/ntfdZwYhsVStxA7DkAWe8bANZqFyoh9wBfyuwr6GQLzxo6YmSSQOe6HLgRy3bVWLe6gu8iemLPanbPAiw52YyvOOhUgUAwYtuFMyafD1+F80M9PQrSfERvUkgdorE+XJJt7SDTK63uExNoi7P1jiew= Received: from PAWPR08MB8982.eurprd08.prod.outlook.com (2603:10a6:102:33f::20) by PR3PR08MB5660.eurprd08.prod.outlook.com (2603:10a6:102:8d::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.34; Thu, 20 Mar 2025 21:11:01 +0000 Received: from PAWPR08MB8982.eurprd08.prod.outlook.com ([fe80::b366:6358:236e:352d]) by PAWPR08MB8982.eurprd08.prod.outlook.com ([fe80::b366:6358:236e:352d%4]) with mapi id 15.20.8534.036; Thu, 20 Mar 2025 21:11:00 +0000 From: Wilco Dijkstra To: 'GNU C Library' CC: Cupertino Miranda , "dj@redhat.com" Subject: [PATCH] malloc: Improve performance of __libc_malloc Thread-Topic: [PATCH] malloc: Improve performance of __libc_malloc Thread-Index: AQHbmdwKHuEaqneA6kGpyMedlaVmiw== Date: Thu, 20 Mar 2025 21:11:00 +0000 Message-ID: Accept-Language: en-GB, en-US Content-Language: en-GB X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; x-ms-traffictypediagnostic: PAWPR08MB8982:EE_|PR3PR08MB5660:EE_|DU2PEPF0001E9C5:EE_|AS1PR08MB7563:EE_ X-MS-Office365-Filtering-Correlation-Id: 9f33e8f7-2ecd-49f4-689a-08dd67f3bceb x-checkrecipientrouted: true nodisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230040|376014|1800799024|366016|38070700018; X-Microsoft-Antispam-Message-Info-Original: =?iso-8859-1?q?2BdTsKWzC7jOAMJBI?= =?iso-8859-1?q?wEzpO8ROLEzaLxW5cbVTX42jzrEwBOw7xR2LkiXVgNpIG7zMXW9KsO506p2z?= =?iso-8859-1?q?IyxBmmcv20Sp/Yhq3XZGtftVRczYRpXAXP5THrbriXo5PhYM/5trzcq9K2UG?= =?iso-8859-1?q?jWJlp7+NMa8W7Y8AbpCt0I/wc3fBpqHkc0M/SAn9/1uugmYWZSinluFRJ/R7?= =?iso-8859-1?q?Z4T+F2xizFa6biSvhiWk8hxI2HXYah/Nv1ZLmFqFo/mqe5JmhNdXOSkAyjrw?= =?iso-8859-1?q?+xeKaTc/WDVz1PEHHwKPqL70nMJDj0X476Rdy8AwERcDPhUomJQVPAy93XGf?= =?iso-8859-1?q?OQsqdIsnPepZkTJkwROObDkNK/QHe/QJVQt+aJaOfu/moGjKOYZ1wqI6qSEv?= =?iso-8859-1?q?HzKL/5bA1EjHSDU/0mZSMIqA9mKhMdanA8rc1+BNyGWnQI60+tbruPxwmlMc?= =?iso-8859-1?q?8pUDWDnPOvbEYBpCF47sV82BXqY1u0y7U0mJjs2v1JxYLl7QugH7uXK9/l6p?= =?iso-8859-1?q?eQrWRfR949opx69vuogMwovkCTXGI2Om4udUAZO4WcpqyePCBJcu2uer+NpS?= =?iso-8859-1?q?8Iyk6s3GOZQ14q61R64FGV5D44+bIDuNrPMeURpkuHfnyxjkL3B1Xf5O7jqH?= =?iso-8859-1?q?j3C7In25D3cE3inM0+PzeP3e0DUSzvZSfhBxxf4TLSWzvWXMVfTFAfI5hD9L?= =?iso-8859-1?q?EXwqoeySV8BODeqtENmvhXZUgb5IADCyyE9iNlBfeJhiAXmS2f6rhjpACewk?= =?iso-8859-1?q?eqiXHJmikHKMp4khaUSvqDn8GH/A0Rrtm8fH4B6uo214wpLeyHcosXsNtZyc?= =?iso-8859-1?q?CbUw2Ei2LN4Mj9A3VdV9Kkm35iZRKe/4iC8bIA2KcR1Ll+vVOLdXU81vQzs+?= =?iso-8859-1?q?MRoV+UZaHMYYJbqeYen2S/U2zql2S7Cm7WpvNGvJYCZQkUC7oxODaHSwwdEn?= =?iso-8859-1?q?llPsowZYlofJBrYlWIAL3ucMuXAo+aIP4mFqxKwpdH8ldp7y8YsAMTqC4Hgl?= =?iso-8859-1?q?CCBM9suyEkHZa7i5sYN6zdLQajIbHXsta3YZ2tuI6fKe7YaT9eIkyXr135vb?= =?iso-8859-1?q?nBrsecClkjKZiOsQc6Bw4zm3lE0FWtQwn/Y1FVirNN7aY4rMH1y8w7kYBQvW?= =?iso-8859-1?q?iNy7GibDFMgEi4vwO4unqOyQibV7fTQD2g9YCwihBKvUYCc6QDwo4FdTDy8z?= =?iso-8859-1?q?w6L5ISm+PfujdMkwnQb7XqOtK8YeZIksowxCZYIXkiTQVCt0mxGfZxlVl5Yl?= =?iso-8859-1?q?90bl1bBYCVH9zq6/I1T1uOBA9gj+3xB0MB1wy+ncdrfzIH9znVkffLcZzdlM?= =?iso-8859-1?q?8zvWAgOmNtTjm4kwuBuojyTsaTlB/kZqubj3B7tMfavXs6zMeEybjB5J/GIk?= =?iso-8859-1?q?DUZW1I00LuqzbT3I0rfBYQWfWqDqCveFZIQK4C0x5jZpCPtJkuI1tmZsiBFr?= =?iso-8859-1?q?0CR8FraR6HQkhleVj+MbINg0GHI8QoFrjog/vipLcBB+7dIfhtxfqa7LE43C?= =?iso-8859-1?q?ISUtkbwS4oa0rSF?= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PAWPR08MB8982.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(1800799024)(366016)(38070700018); DIR:OUT; SFP:1101; MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR08MB5660 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-SkipListedInternetSender: ip=[2603:10a6:102:33f::20]; domain=PAWPR08MB8982.eurprd08.prod.outlook.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: DU2PEPF0001E9C5.eurprd03.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 8b068046-3d0c-4d3e-5808-08dd67f3b772 X-Microsoft-Antispam: BCL:0; ARA:13230040|35042699022|36860700013|1800799024|82310400026|14060799003|376014; X-Microsoft-Antispam-Message-Info: =?iso-8859-1?q?ofQedHf/TEH1vWvvaAishoM+Oo?= =?iso-8859-1?q?f8ZzvLQ8U/j+/QfxE3HiViUDa12CZ+UM5r4HvwB1mtK1Rln/Gs5QTJ6zKQhw?= =?iso-8859-1?q?Hz1GJGFsjVIYSBYMjio0rzMmhotffmJBu2U2vNmUhDSHKSIUIwIIlJHfu3t2?= =?iso-8859-1?q?80kQXs+J7R5MOd4Xbo4vQlIoS6OP78gVT2EQQdtWH+AIZ6RPu0MtUH/RA3Fr?= =?iso-8859-1?q?dW5wpKPuf+ppJv2tSIq/vK2+vrSh9QrcGug3AD4rw/MDgjJFlCQY1nc+4IWU?= =?iso-8859-1?q?wFFH7UZ6B8utdZ9J3owEz9uTjMUwrYfA2LuH4VH9hJAuRyX9LTzWTrrrxhiq?= =?iso-8859-1?q?fYZsqb87YMUCOpt56a70ZQJosINL8fWOWVkDTee9yuUKcmBlKNZxnXec+FdB?= =?iso-8859-1?q?6+mIQdFKC0sVWAsW+t21ekwLMWNE+MmYwPdyIzihrSUwfRR/QBsLfhiWOi/O?= =?iso-8859-1?q?OaTYQsq2+jKIAyEAcagCiDLzU7ANZn59lqA/XAF7MOrbXjIjPus3MMwtdMy7?= =?iso-8859-1?q?/WZePk1wEZvWa7HhQ8j4b+MlIacWwRC/jAAK+DLLwvVpM8joTZcqcH/ZIRrV?= =?iso-8859-1?q?3uWlPi4d4dBBpGLSKzEXvcBOSotVcOT1ms4ChRk0HF86AGJPjKdgof9C9j4G?= =?iso-8859-1?q?kW122ypJVIxpib4CBzcv92V3HKcP554/cfQYZi9f2FGwh353vHhde9bvYyrz?= =?iso-8859-1?q?1vC3T7vc11Dd20Cvy30bnyiBWOS2ziJMhnFEimmVOFICn0jaPGn7uf+szagz?= =?iso-8859-1?q?ht1tGwjayEZS5sxtRCvAawGsO6HRQF8zvwCjf7XlCd5q3qOGJIfs67Ih0eFN?= =?iso-8859-1?q?XPY0L7dfLYV8kGAy7wSTLWopl5aG31SgK6oW6VvCOYUCiSxluMTLEWizy6O+?= =?iso-8859-1?q?jiIoOxrapSmHip47KHhD1C6o4GIEW6QHKbvV3VuPdBJVghoJRDb/qObh+puS?= =?iso-8859-1?q?Tc1zCcd4dwNZXryr+p/0Ay6nUm6OIpomsCoKXLdyZeyZtgmfdSdH84rAkFeg?= =?iso-8859-1?q?PQaVaHVHIaTVN+ncVXIf6/UxnuTqiyyDdPIXazEeb9A6dAQy41fz6QclUeZD?= =?iso-8859-1?q?F+aD9F5kHYD4w7588stRe9m10ANyF2bkRDYd4BoYDMnQXUwvXS9VmC/hjP6J?= =?iso-8859-1?q?2HfHFyiQaMNboPevkOQb0jjQT/LR+aSlUCMeHeaMGpDRHk+tqMrNsBOVQmh8?= =?iso-8859-1?q?C4cv/TUQTwEAH4Hl27qI011YiH4nzQhLNv+L6GOUR0JTuskjMZRziXvc0VG/?= =?iso-8859-1?q?P8AB5D0I2bzdHRa91Sc4tUN4ieN7E8fgU7Z9P82mnGDtgF+lEZ/+YJFllhwa?= =?iso-8859-1?q?a3bM8wia47x3MQyZPUljJGZHeeoym2pOp2Mzm5k2GjIbzYSZL/wqaDGIEwdt?= =?iso-8859-1?q?+6JCpZPxdsp3wIOJREvTuVTjm6ADfpBsqh4KoX36/FYW9f4GfVAysofPH7+L?= =?iso-8859-1?q?2Rr3L++FMQoYzPjTgi2gqReyP6GUBM0Pl/ChiKp7S3aro1kD4fd72236580V?= =?iso-8859-1?q?KEAVtmILy7UKF3LiRkSHKnCFL9zQ=3D=3D?= X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:64aa7808-outbound-1.mta.getcheckrecipient.com; CAT:NONE; SFS:(13230040)(35042699022)(36860700013)(1800799024)(82310400026)(14060799003)(376014); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2025 21:11:10.0580 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9f33e8f7-2ecd-49f4-689a-08dd67f3bceb X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DU2PEPF0001E9C5.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR08MB7563 X-Spam-Status: No, score=-11.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_NONE, SPF_NONE, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patchwork=sourceware.org@sourceware.org Improve performance of __libc_malloc by splitting it into 2 parts: first handle the tcache fastpath, then do the rest in a separate tailcalled function. This results in significant performance gains since __libc_malloc doesn't need to setup a frame and we delay tcache initialization and setting of errno until later. On Neoverse V2, bench-malloc-simple improves by 6.7% overall (up to 8.5% for ST case) and bench-malloc-thread improves by 19.4% for 1 thread and 14.2% for 32 threads. Passes regress, OK for commit? diff --git a/malloc/malloc.c b/malloc/malloc.c index 06b508e22b14756d4aee8c6f62f0781557c7a96f..10526b58ed45d7733c8de9c70bc6ced300fedb05 100644 --- a/malloc/malloc.c +++ b/malloc/malloc.c @@ -1325,6 +1325,9 @@ nextchunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ static __always_inline size_t checked_request2size (size_t req) __nonnull (1) { + _Static_assert (PTRDIFF_MAX <= SIZE_MAX / 2, + "PTRDIFF_MAX is not more than half of SIZE_MAX"); + if (__glibc_unlikely (req > PTRDIFF_MAX)) return 0; @@ -3380,26 +3383,17 @@ tcache_thread_shutdown (void) #endif /* !USE_TCACHE */ #if IS_IN (libc) -void * -__libc_malloc (size_t bytes) + +static void * __attribute_noinline__ +__libc_malloc2 (size_t bytes) { mstate ar_ptr; void *victim; - _Static_assert (PTRDIFF_MAX <= SIZE_MAX / 2, - "PTRDIFF_MAX is not more than half of SIZE_MAX"); - if (!__malloc_initialized) ptmalloc_init (); -#if USE_TCACHE - bool err = tcache_try_malloc (bytes, &victim); - - if (err) - return NULL; - if (victim) - return tag_new_usable (victim); -#endif + MAYBE_INIT_TCACHE (); if (SINGLE_THREAD_P) { @@ -3430,6 +3424,19 @@ __libc_malloc (size_t bytes) ar_ptr == arena_for_chunk (mem2chunk (victim))); return victim; } + +void * +__libc_malloc (size_t bytes) +{ +#if USE_TCACHE + size_t tc_idx = csize2tidx (checked_request2size (bytes)); + + if (tcache_available (tc_idx)) + return tcache_get (tc_idx); +#endif + + return __libc_malloc2 (bytes); +} libc_hidden_def (__libc_malloc) void