From patchwork Thu Jan 2 19:15:06 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cupertino Miranda X-Patchwork-Id: 103913 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 450483858C42 for ; Thu, 2 Jan 2025 19:19:55 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 450483858C42 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=oracle.com header.i=@oracle.com header.a=rsa-sha256 header.s=corp-2023-11-20 header.b=R4a0SMxe; dkim=pass (1024-bit key, unprotected) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-oracle-onmicrosoft-com header.b=FUqRlNxY X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by sourceware.org (Postfix) with ESMTPS id 172093858D21 for ; Thu, 2 Jan 2025 19:15:36 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 172093858D21 Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oracle.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 172093858D21 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1735845336; cv=pass; b=aMSNzYou6gKKMbC17bZq+6ZtwONv8r0dyQtPomIf4Ongf5NpPJk5f/TFUVLJN5UGJe9mif59A/zooIsWh5ZTFTtQDOmr7uORrhA1Wdyr8McSKPdO8HyMzQr/WmlzvdnJRjrRy8pxriaN3e6OSbGPlcUPXvoo2OTgT90mtRe/VyY= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1735845336; c=relaxed/simple; bh=afuL6SgRLgJdyamHPNha3gByyvueWyI3EhZyckOVwcA=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-Id: MIME-Version; b=sbUXSPeeXO7H7RVIes2qaYhRLzQ7+/fUPHfR1YncJfHzSjPtrM838tHbuYmYBwBwgljIPLALrAcXO0m6MrOBbZUfmGVdcoCPMGaE/6AdkdLCAe8oWYVlzz68tWeorDI/fwoaG/o94vdJaJipb7ynLc/J3dIOx/r6Lgi7YvXwvFg= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 172093858D21 Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 502Itn1N026560; Thu, 2 Jan 2025 19:15:32 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2023-11-20; bh=BHciPFfWq3g/mMtVl9bibAFtVOkJ77W5EZwIwAdbhUM=; b= R4a0SMxeD1gotof1lXidzGQWRVTxOAtwGyloidMOzMOZzlwnqW1v02VDMY25jzFt yJHAXnf3iONA+jU3iOmObTlTahZ5bvfQqwQ5cReSQj6kEFj5GiaReRInVnBiW7f0 0HMzFbrxh2SpN+wCpyhrzPqPCYlPIrZbnK4VJGdXRQlVBoigrrXJgsxMa5a3VT5i eI6HJrfUlwP9/ZGGX36y7OOS10FTJ0ljtS1whwFAdvraprht0PquXZ3YnGGqpkjG UJJ2NPa+KWEC0ZrZWdJpIRnBd98zY+fDhCeP3aakKVUECcMIuHMtfZhXxzAJcJUm Jm3vEzdnEaLjPCQUc6fVew== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 43t9cherbp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 02 Jan 2025 19:15:32 +0000 (GMT) Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 502Io6oF008791; Thu, 2 Jan 2025 19:15:31 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2043.outbound.protection.outlook.com [104.47.55.43]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 43t7s8ww0e-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 02 Jan 2025 19:15:31 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=P4YAylio6m9CNhqgcobwFcyBjzQXHj/0rZnMBQM6N0zPw3FPgjQNHuDhcYMf1zWvHl7gcNFMRPSBC7uRgJ6oqCS1nRNvjkw4vaWjYbDlK6g14qkUBkhfXGqGa+Op6pdPctWzTwrFW+m2OAXIWPZuCbTlE9/w5OjXg1vnYJO9r3nH6sFFu1zsyhL8WGKY4OBioSH00H5VHSnR8A2v5BLXEwCFKHeVKGG1L9qUaxjsdf3NJNUi/Gmaj6G74vcPGpED16W7oSBIEKqWuF0QQuzSt9C/SlLdi81uety1B9wcl48DPA4FYce7GUYMc+0Rj70Dyzmu/KA5mMoOGjSEnKwnvg== 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=BHciPFfWq3g/mMtVl9bibAFtVOkJ77W5EZwIwAdbhUM=; b=Sca4HicWhwq0/CZIAx/IcEGbX1qLJETmlsZG3TPduvnO/K+uRF/5qWuI93zQmDPyVrplBM0+ZXY32rrQckVO733XWZa07Vx1UQFZSIzPNZMmmi23tXkI1bOUMNUXvTvbrR2w4yG5nO8whbAqoLk6wa2hETUvIT/MW0at586A+178ybJgNab+EKYLQMoeI/1wd0zevQI43xI4USNHFE07w4zzIka0+foQ60cGMp9s9njpy1d6SgyorgPOxstgU/QK9IVSNjhsSWoRYSycQZoWmbnL/tcjGg8zEFAm2ScXtn59Owm9hvjUVZ0+duorZEDk2Tvbwgpl/m8uVN6MZaHzMQ== 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=BHciPFfWq3g/mMtVl9bibAFtVOkJ77W5EZwIwAdbhUM=; b=FUqRlNxYrmFPLNdU7dbLIiG+WjGfiDkWnn2kwJ7+rGwK6fwNuEnjnATiwE4rGvw/VR6g8dE7830dvnpItMY7YJcHwNdH7J2CGwEjPhK/Rw+hx0NWIxLVQDJ3T3f2ltyEFzWU5H2l5VrH5BQi8hnCfZQ0KiwkozYp2ndaslnvx0Q= Received: from MN2PR10MB4382.namprd10.prod.outlook.com (2603:10b6:208:1d7::13) by IA0PR10MB7304.namprd10.prod.outlook.com (2603:10b6:208:40e::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8314.12; Thu, 2 Jan 2025 19:15:24 +0000 Received: from MN2PR10MB4382.namprd10.prod.outlook.com ([fe80::5033:84a3:f348:fefb]) by MN2PR10MB4382.namprd10.prod.outlook.com ([fe80::5033:84a3:f348:fefb%7]) with mapi id 15.20.8314.012; Thu, 2 Jan 2025 19:15:24 +0000 From: Cupertino Miranda To: libc-alpha@sourceware.org Cc: jose.marchesi@oracle.com, elena.zannoni@oracle.com, Wilco.Dijkstra@arm.com, Cupertino Miranda Subject: [PATCH v3 1/5] malloc: missing initialization of tcache in _mid_memalign Date: Thu, 2 Jan 2025 19:15:06 +0000 Message-Id: <20250102191510.360360-2-cupertino.miranda@oracle.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20250102191510.360360-1-cupertino.miranda@oracle.com> References: <20250102191510.360360-1-cupertino.miranda@oracle.com> X-ClientProxiedBy: LO4P265CA0073.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:2bd::6) To MN2PR10MB4382.namprd10.prod.outlook.com (2603:10b6:208:1d7::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN2PR10MB4382:EE_|IA0PR10MB7304:EE_ X-MS-Office365-Filtering-Correlation-Id: bb44772a-6855-420c-9d59-08dd2b61cf51 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|1800799024|366016|10070799003; X-Microsoft-Antispam-Message-Info: CLsOXiyGl8B9upqwTBQSYJ8hbrQz2G8SQWKdqx9VEP3h01or2d+6eN7GneFAXrOpqiY4u4fF7G/Doe2WWuh/M/Wt5cPt22AvSMpUrjjxK7gtxhaGYqm3c9OUHQMnxreQqQWn6RfoDcQIPlxv0x8ddcZ9Wl/cffb+PdDdcZAwCqJqPaKy+2p6C3J8y2gWgezvJa0LwR6R5sUYB30+pLPXmPluujyCL8+jEgfVKs4nTB1+4a3BWgWx4n7aXT9ifPJx0/QfMNgYsBokGofdZdNUP8jXfQphWFFYPmAG5GE1Q2hN+96BYRwc9IbLoDSCXG5F9zt3HOjUFNno+Nm2xpDCBfbKVwXm4noVEmPM9fEcJq1Zy0IeQ5jlsPSfsuDwPGaS62dwNMZTeaXMakjb3S6wMUBDbdd9pwJosLVd+ITgdgdtpU6TSIrfZLaKjLQSQm+XULL2FsIfY5FBrNgwA/206zxW3PoBoGp1yJsGv9t5qGYZ4gBjdsdfy/t0kSZHMnet0ZO447pCE8+5FRwOZC9hRA2sYEFm9Hblyjja4MEDyP7PNfm50p1JZT0kndPiivK4HwAxhtNNULisroV0NgUlHsZnhKr3N5zjTtxchT0/6ykhQgv6O6RLnxcNGDn4Ftz5JDhFkL2AuzqNuGZ1GGZK9gsvHsUED5o2EJiRFWWMoTM+yUifE3K6snJSuWsMobhCXt/2MNMJqRlbhVIQIRzqCF69vPP2lMHrme5q0v2RbEsbbJFSbPmqgBTmvrqkXexXdp9uVWFmx8y4dWH/v8YOSaX0rwZd3Vw1enkOtbT3ddyGpHyKE3AFIEc3T231lc2RSIDdTuYDop1A0skFJ/TwirETdbaPq3mkkgupw96/mAgFWr+AEDmZiXY1Niv9SaQRRRnR6wsurlAil5dr4JKPkfeCqkOsuMiM/BpSlwZKjgY0aAcmG7V5rjVkfT5m3Ldbxl2tK2WZdsOQg4nXz821jE6/4V9uhnewP0f84We/wV6nBntks2Er/pRanLbDSPH1/jtJNpcjXnJGnJZ9w06YYhcG91bNQ9IcbxYsGVN6B/aKb9unzLs93gfmNG89VKesMz4e/P70PjqvPSQLaoI1qSPuIwv8FdVKv+s9jvDiM6MG9gYjxKZ2ljHLB0PXYGZyiQ6oTRTe2T+DQvlWmW4PzB00WOF+czWTWag29JYNnXdL3WXgiRWi1Flh/OsPtymyt2JRQfNc3AihVDzgTausJrnR6V3OILxjsR2dVLqz7P/aBfVq6JgABfxpUJ3PYPuu9LTBY0udgGqG0Y7gvPKORbspx16VmaeWZcRQDUbG8u0JY8eQwO/nwPg1zx7jLMyl6qbKc/kGBzDYHjPyUrS8UWd+CWT8FrI0ylJ6ruzo7Jx3z5AgaFmUI8qHZrcF5V78 X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR10MB4382.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(1800799024)(366016)(10070799003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ajztFMbkt/8d3LouZc67kPfYX1J15UqOn12VNCg1F6BVmbQrIqRwE5BB2Gk9qWx5nc+PLAxn7BRvlYeDbUW1lO5F9EBzM6B7rk7ZWfCzmjoxiazLAzSSNzjSOPd9EsUd+AMEjxpgXYUvSPYM2cPtngBNXAuDwLW8PsHCtDG9EWlyP9UhJKwTDBTf4EumiEVkvl4JmAc9vUOE31GDlFpzoFopjNg8e9B5SHeXoCMHwChNPHWqgH11iFBSgBeKvaTV31OkvEQOrZKUgkeGt50dFjS9KijSnA9up1HoLAES0kIlkyRaXK1C3DG9Rr+O2T+9BzI8m/SUA2HfVAHYcvx3m6E0EBPfKz5BJTJsFkKDjBfF0ihxO1CngqcdC7KLKV0FJG8dwtH6bHFmW1UEj8Sd9nAFfceJmMG/54ApMesXrzNYjjcCmC7ww5EmU1Iq6aNF/QR0Wai0uiU19yxDpdfCgljhcF0PujUvkO7FMjphq7HWbxsQpshW191URchAqMbr5Aw9MM0fDF+nA0ISG0rTJoErdVD8ASBuIBHzHjrd0295gaRKQtwTSgaco/ePq5KiBk1NBAKu5UXCv+sdoATs33HAuNfAEKfS1h/6b4mWNy4XnUz0CMq60gyDs1XLG2QZ3rlHUDZjvhVHVgjm1iwiay3m/OmPP1u7sGFqtBeTPTKpiKnqR4ilnT3rc+f77MpyQJqQV2hKFIJMZlO7rHxlaV6FHruEV6CH0Vy2nYbdBFX0wk5cMRoTdb7o1+oVCYi+IKy89hu1vllzYRqyScs4LdIRGpP84aRYh+ashDENO0PCPXhsTjvg9p30sd0EAcYp11beLtVLt5oS12AvjJAxa0uxTgHL6sx3V6TF3Sx25638P6FlSjs5ucfarQuIcGpY09RdOBQ+ILU4JutS+2HEDi/mJJDCvRieGi4+Lw0C+UuOAzyzvcHMyfDxCUODmEqyWSmmlWonDjL22GdadJ7V/pX8eaIm4LEOaOdBMaqqxxYSESXbuAHq2IlhbgEs45pHICQkQGFrxHyTtafj/BofdUSccJWLexe/9JvbdCkWVG+V+W4pM5o2Q0HUskaCpInGRUlI6xtuOmWstg40fLl7ZC8iymM9FAO4R2U6GhCs66Ycp1CdfYfyeDgA4FQZoFfqkfQKVg2OPgaWDhh5TmpM1wd4CtigBfFDvDjZVUeKL3Rq4bEZnI8CDiVHQIb2Mcxi9/uHxLb5PygOX0PWcNBvJq8NNJmu2x0pTIVWFxEhSzB+WBJ3PPwIH82sj+gyrarx76doD9rpU98lIc3zLmGqSSARixc/hYgfonAhS1LI3HCjQbl3RF9tb7V0LDYOWJYr11OsSYKgbuGt3jwqS4jFqbOGP5vTYgdtnEPdh5yJL/oS+O6NgW06WWkJExsyUGbt+nifAm56E2OlOrww69CQ/Ac+NSUcCPq4lA7Z4urjrT5qNDrYID64Pv9WFKBqV1xSlPKg387rYafpNlRd37WU6rmlFni236OIeyc0iLoaUzoUEhVTJLbU7C1VYZ1zRRVE+kNJOD2AzwKqsmKIkGy6InC6g4388pSlPN7OjulDZVuc/YjSpUQVWh6iumfPf5UoHTMQx4LEunRH+6uIlGAfoAXanMQO1O9x7DPkHRT5Tyo= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: FffJPLkMQ/j6Cs6DN4I9iEXg4c6d91z/jN90Uf/oFf/vAMGBP1M5SjXZnuuQywi8KSIZN2ZnON4LEL8/6/iN2T/7V7UF6IsmtAkvj+TEjtOfs90ZiWcxlaojQ4XK1IJTCEaKhAwMyYLAMzS8XYIFGlH5rU0YdTsH2imU3ZTcF/aFFSfFb3i3jLi6UpflSEHGRp84F9z9ReQz5CyglqlA6XM9i+wxVjAVGm+rj9A9WZYRYlBTAdakV8dx+YcB/zeA77F/655JJcqDOzgjKPoagvVuJmEm7DLSzLWXx+vZhCJSPt9Yrb4KeJcVhPN+jWqRn+6OSBhcWknTLQjX4lgc3pvri7lhFDYDj+LplF/go0SXNOMwIsCZP/6cpqQQ/zwMYPWv4UFtcxYD7610gx5h8EqnUiIKjqdHiSRtPU3u2THif1YiNQtE+EE8tne7mAwbbp/YzR6b/ZhVdTB6Palvxia+RqNOc0VqXcxj7Nmn+AhqAU9zx6X4TCnWsgW0NKREgwL6swYHqnTUAjc4JwQRJOBjbmv4iqb+7voIevVeVI1pKxcslCzTB47vrg1xQ6x3MySyVnmqvEem3OG9SdEaiQgFVOFZQBjBqmIbJyFPExg= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: bb44772a-6855-420c-9d59-08dd2b61cf51 X-MS-Exchange-CrossTenant-AuthSource: MN2PR10MB4382.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jan 2025 19:15:24.8656 (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: g6Xal8tnJ2gaa8eZ+bnPfJXI/0IFX5DE+GqVjd41spK6DVuVCuVtsxvrv0+muK2ON+MLtaj1LxLL8RfHWu90Xr7XuSyb41eXyZmURCMG9jQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR10MB7304 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-01-02_03,2025-01-02_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 bulkscore=0 mlxscore=0 suspectscore=0 phishscore=0 mlxlogscore=962 adultscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2411120000 definitions=main-2501020169 X-Proofpoint-GUID: ao2LzA9E8S9fIqJLSclgiMHHVktm0RHh X-Proofpoint-ORIG-GUID: ao2LzA9E8S9fIqJLSclgiMHHVktm0RHh X-Spam-Status: No, score=-13.1 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_H3, RCVD_IN_MSPIKE_WL, 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 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 _mid_memalign includes tcache code but does not attempt to initialize tcaches. This patch fixes the following regressions in this patch series: FAIL: malloc/tst-malloc-thread-fail FAIL: malloc/tst-malloc-thread-fail-malloc-hugetlb1 FAIL: malloc/tst-malloc-thread-fail-malloc-hugetlb2 --- malloc/malloc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/malloc/malloc.c b/malloc/malloc.c index 27dfd1eb90..2ae308f3ae 100644 --- a/malloc/malloc.c +++ b/malloc/malloc.c @@ -3692,6 +3692,8 @@ _mid_memalign (size_t alignment, size_t bytes, void *address) } size_t tc_idx = csize2tidx (tbytes); + MAYBE_INIT_TCACHE (); + if (tcache_available (tc_idx)) { /* The tcache itself isn't encoded, but the chain is. */ From patchwork Thu Jan 2 19:15:07 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cupertino Miranda X-Patchwork-Id: 103914 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 510FA3858C39 for ; Thu, 2 Jan 2025 19:21:43 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 510FA3858C39 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=oracle.com header.i=@oracle.com header.a=rsa-sha256 header.s=corp-2023-11-20 header.b=Ui4kZRD2; dkim=pass (1024-bit key, unprotected) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-oracle-onmicrosoft-com header.b=zTpJ93FR X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by sourceware.org (Postfix) with ESMTPS id D96483858D34 for ; Thu, 2 Jan 2025 19:15:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D96483858D34 Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oracle.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org D96483858D34 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1735845340; cv=pass; b=RY+bQCyW1xnsYS24BfYHYnhp4YK2nsE1qO15Z/kjw/1L76MUY6/JwxDpNCQEC9K1jIBulzTl2FT4zc6lfUkEDov8smlB3tRNeKq3M4wMpY9MlIi6TldzBDKJQJLooZ6DxReHbQIhLG2oPAgCM7d4a8LjilW1BJx1zvM4aRo30aU= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1735845340; c=relaxed/simple; bh=/3gb2jKiOdJwLyQ7dY9P5+pd4YxC0TCYGwLT0F7Os7Y=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-Id: MIME-Version; b=H64jBxWXBvyJZ7nzfhD1sk4twQPnpkRFj4HqusHpS0raE0GdL8Gfnhos3tnSHa1NwrzNKFJpADd8iaV3VxJW4kG5FNxKDRvhmgERdk2Koe9OnBnFop6SLMAqUXE8/hyIwxYd08rvWyGZwUrUTkR+NCH1gCjZX0YxqhiWg5ufyY4= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D96483858D34 Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 502ItrXl009476; Thu, 2 Jan 2025 19:15:36 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2023-11-20; bh=Cg6yXdUI4IbAfXZC0/iAsloLVkSiu6bRKe+L94XEcOQ=; b= Ui4kZRD228dBbdUxgO1gCh0v4iGWGUAUTsLFK8yEJ4+kJsaLd2409dz5R76NGRTl zugQpPtWlpL16qecRydAM+oyyj940aRF4chGTCJSNznsGLaPwfQ9V6SCKndqM0dM /DJOehA7W1t1X5C0ZB4omZJok0E1vfNcT0RifR+WxK7zuswRRHAiOCkt7YwSaacj 950klO4M5VV7CuLRAgHSSEn3Ka7dQwlnAq834mFqd+FMeyr++SS7r+7T1ySx/+V8 cSde3VomiA18DQ+qkX2uZDRpDBH/MdXIAv7BvP3HTSq23k7g5rfcAd0T3PM7yKc7 zoRvGsdW7dSwp9niEOsAsw== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 43t88a6r94-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 02 Jan 2025 19:15:35 +0000 (GMT) Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 502Ib8fg008462; Thu, 2 Jan 2025 19:15:34 GMT Received: from nam10-bn7-obe.outbound.protection.outlook.com (mail-bn7nam10lp2048.outbound.protection.outlook.com [104.47.70.48]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 43t7s966rk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 02 Jan 2025 19:15:34 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=NbCH51Pl3bAFpohKPKPRWiO1ywgHkcHJh2ukwDROtI1eS3OF7rg5SDatnKjhLn7tfMLzNygpPYr6w4BUYdQft7X0LPbF5MusXJp8fkf1MVqO8LLLgcNXzTVzM9uDJEPhNhMx6ichUh/KdBwRbWs1JUj9Np72PRXd7LYQjeUAOUx863AbDsLkSdLRJ/FNXzdedBvLTEjJJNyp69+p1EKLic0CIbnh+NZwc7OXKuh4FwhlRXQ+hq+426DWPNLRLtif6imeh3u7obC2QZV+GjmDsumqWGTgA2ZIIHfzdRdIVhUAR0r17+hViJcPVO4a4J4LSN7bdXY1D7srWNRllqFqSw== 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=Cg6yXdUI4IbAfXZC0/iAsloLVkSiu6bRKe+L94XEcOQ=; b=jzoxme2fTHh7HhV4CeV2PgYcyWpIRXZSOGrB7e6DBu59VRUOvsyunWS5Qdmj36zhfMSV8EUaIbqonLMi64jFx0qpeLMbPeCj/thQn/td0Jh/sv1tqGZ3Vbty/dL6iit4dlOQLioBNBM99QAn/R1ImNi+j8KIM95bX9qZwtdA03GOfRER9IZ2gD13tqYwyIKlcrlMScas8Qy3yDHTrfs6u16J7q0wfa9GlymnCIR8Y/JP2GY0bY4VFELv6iAhHw3aixTA2RsQSSHrzaQhaGQr3O0FoZ1zePvpfvmKMnQTm5QBAx+rKalUlvy8fZTK/c7n+6lQUFuf4XQgjGn0ZFG/oA== 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=Cg6yXdUI4IbAfXZC0/iAsloLVkSiu6bRKe+L94XEcOQ=; b=zTpJ93FRN5aA3OWWUX5CA3dk1EnKxlNv1TWnhJjPdJpIdmya3gZ/7B1BgsJHap/Gvg6jI4fh8MwgcX0TVtNUffQOs3cWUbdHAEhGnS5NrGKcyJgfQ+SEtAXmQz98KLCzphFG64UvI+9RaM030ososX40Unts2oHDlbDbZFT4T7A= Received: from MN2PR10MB4382.namprd10.prod.outlook.com (2603:10b6:208:1d7::13) by IA0PR10MB7304.namprd10.prod.outlook.com (2603:10b6:208:40e::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8314.12; Thu, 2 Jan 2025 19:15:28 +0000 Received: from MN2PR10MB4382.namprd10.prod.outlook.com ([fe80::5033:84a3:f348:fefb]) by MN2PR10MB4382.namprd10.prod.outlook.com ([fe80::5033:84a3:f348:fefb%7]) with mapi id 15.20.8314.012; Thu, 2 Jan 2025 19:15:28 +0000 From: Cupertino Miranda To: libc-alpha@sourceware.org Cc: jose.marchesi@oracle.com, elena.zannoni@oracle.com, Wilco.Dijkstra@arm.com, Cupertino Miranda Subject: [PATCH v3 2/5] malloc: mangle tcache entries pointers Date: Thu, 2 Jan 2025 19:15:07 +0000 Message-Id: <20250102191510.360360-3-cupertino.miranda@oracle.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20250102191510.360360-1-cupertino.miranda@oracle.com> References: <20250102191510.360360-1-cupertino.miranda@oracle.com> X-ClientProxiedBy: LO4P123CA0411.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:189::20) To MN2PR10MB4382.namprd10.prod.outlook.com (2603:10b6:208:1d7::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN2PR10MB4382:EE_|IA0PR10MB7304:EE_ X-MS-Office365-Filtering-Correlation-Id: c8a7be40-baba-4939-0609-08dd2b61d17d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|1800799024|366016|10070799003; X-Microsoft-Antispam-Message-Info: CMvROZMX9oqvgA0YwIBmJ024j2oJzaWOmJjxW8z56amd3KEnipQcHiqq9KE3N+lKTtJhC3myccy+X9pItyfyV334h9NcsWKVE7mw+A5Ag6b47Q2nImiAFWh88U9VUmyo8ocg77aFqWVSxcQt4POeMlkg0fni1eI2nSdx13WVKfFxnSUz8Xqq5aqLKDFyzwoLsJUiGefXFS5MEXgssIj9ap99bLjKmKWPqG1DhX0N0+saDXOf+PWbXH37+bnMBXr+5dCtQsiHitau40oXtft6Ru1ojCgJ2BXnCzH4ltPvh7ZvswoWNG+1C4+uJSNEiwEM4K3dvyRFOMkFAmN/LHWYyOtNiW73wumzgFPigYiG50TOZkI5Dpx9RkQXqASNcV9c7VogcIa80Fj6qSK3lIYu8cEq+MHijZwaBgjB4IUHLCr2ztz58RILvuqP9DEjEJCczTVa5U1LijNvjLu+Xc3jLAm/GXURP93suNDB+I1Vxr9VTPhU1rdAks9d2kijqjd3UlC2Ursrl+nKpZl5uv/Ip9uDWJetufnUHG6tOACUahLooi6wNauQMZ9/oXo0oqmn0V687jjqnq7PfumzanhvaEPY0wmjfznUxrLXQoBCI0SBOmtzdLec/kvZh1vmE0QompvkmUB/HzLlr6iusaVw693mA7vS8WYpU0EqtrEP0GVRQNMalT44Ejz4MIvR5v9revN5t40Mm1fRXMPTBkLo5xbA1wwy4wrdh8eoE15PwjSA04NTy/g8lelMKswVHVd2EHP2z8fi5QDTAC9hXYl5h0OS/Gf6aPDZuCxgLVFAsZZfhJxh/of7YoRO1MDzYeuSGvH+K+9F++8iZXAKFrbLux0s4nl9PityiX1W/Z8QLtpzDM8HZvZN/vk3goRsMXI6hzpJuRelFFyO2c5E6TFF7mp6mlBRZcP3UyBjO1do+9R2GLpfu5RCkKNkuHohOhlZBFRZ8gy277+oTVUoj9QTWFqmuXLp74lamBizgIOdHiFiIMBpFZNhWOBGyAjpJdcknFQi1DT2A3732qQdA01AXLzWJ1/4ngPxYzllepjlUSCp199+eB4rEqUSGU/fpCi5vgbaSarT2TgtjMBkJjVRGFyfKQFN8M2ravSfQnR/pUYwj5vY7/IsLPiull2XDiAHhsnvdGybfYRzlHWs2sLRk9JoEo/UH6BFrHFGotRC3EtorhF3gPi8PMO3m1yjZyOnkAAV0x49LpPQfVi05wSEyO1bh5+Lru6t0D1YSIJm7Bwu2RUIeu9OSIaM1qV0IJT/IdwHa6NdS7MOQNPVs23yhZ72X9gkghSJvAyMbv2gLkSF4qlNeSj1cH49OSrADSlx8mfb7EyVY7RSXRHPIu3BnNgpgQMkmyZe4fTGA9gR0jwUTn0OEqfvEE60XgYAHlJH X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR10MB4382.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(1800799024)(366016)(10070799003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: FR5DnfaPANkCIarHUiNdsnTKpq79Aw5hqjLMBDaFmDkfMitmVfTrntK8JmIMZfnQ1N/igrvLrzGe58PF/GCqGcVPtc6Tn8fWb0APBYoCpYB43w84nGQ9bXh0eNdYw/Y6vDr7OH9uY/20glPViXG4EMKGZY1nmpRVlti4TnmcePd99JYmg9Y9pfGBxCu1/9ajtI4EZSaecpZ01IVaHrDeHH1KK87+FGYwsBaTluT/0sT4FZEUndV2C9etZMs8TmeqglvtAgzvtbQeR3PL/PtQlfbcQr+YNeBCLrnWMuZ9HgtpBLqWJfa7+DTUJpEyUXTREd/U2NNeOUejL091rSbDyEXgsJzx/O8qsOlZ40kuGdrZminytnQx3tVmVAauBpIwUQSAZuLomE88v+OAorQOVzaDHrCHkAyGmINlMm+ENeODACkKK6NhaZyEZSIqQLetykvGwA5Sp+rjZ/cD/orPmzL7fZnM8UpbXqhBcO7UrOwzUNH7CmKU5qqULuej39ZcuJ1MgzMkkmreMS9QVnXyBn7yOt2eiAj2/3WM4Znccb8pm7XPX8a958mZNHMDD8SwSBH9gnAIba0avyZSgtnqPqmU5DyeH0C5pRSGiF5u5Ia8XYFo1Bvd4sIbXmC8kxAKiGh51uW3sWooT5OEUIeuX5l57hXDXCkrdSgxHeRuwGmfSjWRpq1gyqm4IeAFhpcJb4YWpKVkLZUTTIysIFJamSCaP6IpTDWGvazXligO5RMotzytYEmX95WsGAT6+fY7wjupT3pGnKJkEaGo0MeZLipJjPm+V9Lv3368XGSMF4nXXwpdZXs1cOcl5mQ0Y/YACfFkJ+kueuA9mcMVdlTDjuqtq/10cJguN6f9SdnOEkwqWTEjND4zUuogp09CG21Fapgk39up4RfzDQFYe6nW8iTjHNZHVkc/udURjXl92knAf4joOyqH6P8BT+vEO2JhZQPD4SNov6mU0AuMLdif1CtT+Uu/58Xq2+QqK3ZMDVxknNOja4xEmEIUt2zWVM8RIdcdHS61j61VLb4E+IQD9jmsxcxuD8pQHfl6M4D3QuUAq4nczfon7/uC9MNR5SY9brHsXzgeA4oV3ndV0BzyR2nY+15t8ezALMAkJeFY93ozfEq5jED7093/FmZ2o2R6rNDaxt430tGlSxtk/TebFWkd7UNbbyvNn82ClYGFPG4sURFZV1NqyZNhexJ9b+cHAnPaYMoOLU2H50vNR9plQVECtG7Nwr76kgdnFDW1IsOXLMokyJJ3omh4TMFrxpQM9HLl++Wp8I7RTZxGbBLwNBcpNGvpK9AXbFUOPu8SS8mL2efuBoIARKXVhBNqgjRyPaZ/wYA8fCltv0rttq54M04mvOjGlE8zEZNEu0zSkB7feJq/fDtbDQBvXk8ThNcpAtpFuhWKGcMKdmmDavTiq+I/qoDAQzudwv9HZGvg7CIgJ/vgWZ8MlZJ2oCAK3WUeuuLcAz9XrkhlJqXwdGcxAftDl4bWZ96PTR9Eu8P4Jgf0vZczRclprK15ezwtrWsorZRVUsJRLsL/4Wb2aZiwqXhJDRScZXWXbaa48bZqvkzJqgNSy43IwQDOaQPaisr4O4km3SWJQqUl57kcEsFCZ+3Snxt+qGoCfv4s/YVgDYI= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 3qoTbuS98L7axu7qX2aXtLzV15NenbinF3ki2WK+uQkXDF/4zppXO8ZGPkITsdpxfrTKK/MgLXSdg97K2rjPqtDB6uvf+HCOKwywX1oih371JlSLKOEJ3Y4su2xtdgo6bfbbknH0adH3DbTqL6ZPTtB4pY1J1KXyGoHbr/u+nyqDgC29e96EmVRJ0FciGXvX//0MCZ5nIRem4aRv1X7mnUgUDbclDapmwoWckFRDEnEaDpanRX2jaqLM1lezLhLWbBJiDo43fxXytCpMoA4NFzY3dWe7deAYs2yAsaw8m0gyZFMKhfeTFpLYsUqaRUgTjN+7vEAH4/uOWKUIMS9y0MOyNDYZkvguDvdQjrGV+h2qicSbl9eVwCmzIxFwCJwb7k0UGrQUoWdVXaJ83/t55TGvpFnN2YUljCegKNYLMzBJ0v52CtVKGIRpWCCDQDtJwavsANbOmcXnku0IGyd3AIttdxGFAg9L/HZ8nY4xApYbukDElj6WKdcdh81RviOwToPifyFKgX9pjufpiP+dtzucv50C8CCjvLXMX8fZTQLnuDQrzCC6mwfaojwvdl2+hMtEyseZuVjqg11+6uKyXQDgutpXtb+b4VMHNCCTCqY= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: c8a7be40-baba-4939-0609-08dd2b61d17d X-MS-Exchange-CrossTenant-AuthSource: MN2PR10MB4382.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jan 2025 19:15:28.4588 (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: GGQkaEnsYb6/eIlTPqFAtPV4Oa0dL5n7KSNnshkhpsSnKttqk1jQQaZCZYtiR3mtpG9lVV0sT4jvhHq748G9sk5rfaIAMYm+jm7rfNLs0QE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR10MB7304 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-01-02_03,2025-01-02_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 adultscore=0 suspectscore=0 mlxlogscore=999 phishscore=0 spamscore=0 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2411120000 definitions=main-2501020169 X-Proofpoint-GUID: WL3OEuP3NaZyK8rffWr0lhTBzZ1eHXuY X-Proofpoint-ORIG-GUID: WL3OEuP3NaZyK8rffWr0lhTBzZ1eHXuY X-Spam-Status: No, score=-13.1 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 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 tcache entries are store in mangled linked lists of chunks. However the initial pointer stored in tcache->entries[index] is stored unmangled. Due to this difference, tcache_get_n contains 2 extra conditions to disambiguate between the original pointer from tcache entries, or the next pointer within the content of the chunk. This patch slightly improves tcache_get_n by removing the condition related to refering to the first pointer by also mangling the pointers stored in tcache->entries. The mangling of the entries should also happen on tcache_init as NULL pointers are also mangled. --- malloc/malloc.c | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/malloc/malloc.c b/malloc/malloc.c index 2ae308f3ae..77593ca0b2 100644 --- a/malloc/malloc.c +++ b/malloc/malloc.c @@ -3164,8 +3164,8 @@ tcache_put (mchunkptr chunk, size_t tc_idx) detect a double free. */ e->key = tcache_key; - e->next = PROTECT_PTR (&e->next, tcache->entries[tc_idx]); - tcache->entries[tc_idx] = e; + e->next = PROTECT_PTR (&e->next, REVEAL_PTR (tcache->entries[tc_idx])); + tcache->entries[tc_idx] = PROTECT_PTR (&(tcache->entries[tc_idx]), e); ++(tcache->counts[tc_idx]); } @@ -3175,19 +3175,12 @@ tcache_put (mchunkptr chunk, size_t tc_idx) static __always_inline void * tcache_get_n (size_t tc_idx, tcache_entry **ep) { - tcache_entry *e; - if (ep == &(tcache->entries[tc_idx])) - e = *ep; - else - e = REVEAL_PTR (*ep); + tcache_entry *e = REVEAL_PTR (*ep); if (__glibc_unlikely (!aligned_OK (e))) malloc_printerr ("malloc(): unaligned tcache chunk detected"); - if (ep == &(tcache->entries[tc_idx])) - *ep = REVEAL_PTR (e->next); - else - *ep = PROTECT_PTR (ep, REVEAL_PTR (e->next)); + *ep = PROTECT_PTR (ep, REVEAL_PTR (e->next)); --(tcache->counts[tc_idx]); e->key = 0; @@ -3228,7 +3221,7 @@ tcache_double_free_verify (tcache_entry *e, size_t tc_idx) tcache_entry *tmp; size_t cnt = 0; LIBC_PROBE (memory_tcache_double_free, 2, e, tc_idx); - for (tmp = tcache->entries[tc_idx]; + for (tmp = REVEAL_PTR (tcache->entries[tc_idx]); tmp; tmp = REVEAL_PTR (tmp->next), ++cnt) { @@ -3289,13 +3282,13 @@ tcache_thread_shutdown (void) heap for coalescing. */ for (i = 0; i < TCACHE_MAX_BINS; ++i) { - while (tcache_tmp->entries[i]) + while (REVEAL_PTR (tcache_tmp->entries[i])) { - tcache_entry *e = tcache_tmp->entries[i]; + tcache_entry *e = REVEAL_PTR (tcache_tmp->entries[i]); if (__glibc_unlikely (!aligned_OK (e))) malloc_printerr ("tcache_thread_shutdown(): " "unaligned tcache chunk detected"); - tcache_tmp->entries[i] = REVEAL_PTR (e->next); + tcache_tmp->entries[i] = PROTECT_PTR (&(tcache_tmp->entries[i]), REVEAL_PTR (e->next)); __libc_free (e); } } @@ -3336,6 +3329,8 @@ tcache_init(void) memset (tcache, 0, sizeof (tcache_perthread_struct)); } + for (int i = 0; i < mp_.tcache_bins; i++) + tcache->entries[i] = PROTECT_PTR (&(tcache->entries[i]), NULL); } # define MAYBE_INIT_TCACHE() \ @@ -3698,7 +3693,7 @@ _mid_memalign (size_t alignment, size_t bytes, void *address) { /* The tcache itself isn't encoded, but the chain is. */ tcache_entry **tep = & tcache->entries[tc_idx]; - tcache_entry *te = *tep; + tcache_entry *te = REVEAL_PTR (*tep); while (te != NULL && !PTR_IS_ALIGNED (te, alignment)) { tep = & (te->next); From patchwork Thu Jan 2 19:15:08 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cupertino Miranda X-Patchwork-Id: 103910 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 836993858C3A for ; Thu, 2 Jan 2025 19:17:20 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 836993858C3A Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=oracle.com header.i=@oracle.com header.a=rsa-sha256 header.s=corp-2023-11-20 header.b=hwAJ3QOZ; dkim=pass (1024-bit key, unprotected) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-oracle-onmicrosoft-com header.b=edvQXuTf X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by sourceware.org (Postfix) with ESMTPS id 51C8D3858D39 for ; Thu, 2 Jan 2025 19:15:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 51C8D3858D39 Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oracle.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 51C8D3858D39 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1735845342; cv=pass; b=lc2Gm44SHkkoySboskWq3GumbhnQY3IBb/GK9BZrDaOcXFwnPnaGQMIcLYc+s2gRhhp7Eq1qgSFXmCucdwrkjJ27K9sBtyW9A7v2HrwaywO2FiZTYfYOQdKXeu5K3GWSeGtVUWfHuuKflNkWWgbRwuh4y5NpJygcpGDVgogEAwE= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1735845342; c=relaxed/simple; bh=aqwAPt3VjtBKK1mfZY+gK6PE5RyAxyVwkYdLC0se7+8=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-Id: MIME-Version; b=cEosq9+7dvwSeh8DJ9YQbLHE75Ue1zJnO/PuYvjaIOQSrhNHq7fDNYvinBtljvt/ETNdunrsH0c32Gluh0sLsfy/36D1XwLAittucj24oTi/xKq0leC7jXs47ZgxaYEVrHtsKU0DUKNu7oG7cZj9dyCkHQPU92V/DkzI/089s0s= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 51C8D3858D39 Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 502ItnGw026561; Thu, 2 Jan 2025 19:15:40 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2023-11-20; bh=oXu848YL52QiuEy1U/1hphgeBf8UFaZtRZMwWcsYsdg=; b= hwAJ3QOZ0bSyGkuTSdweoeA6YLKXjeofBj/thaNIXUUCuIKb/Hvh+AydlIXDJ/DB Lgqe3Wh7ThQiveK7qMGTAofDpL/GNajqi3MCfc8v4mJFMfol+uJ8wmKckMP5knq/ YmNm+Q/0V7tMrio5QTJLM89N2oj2bXsHJcmKxo6P07gjIcI+YeRymLcZrzA9hvff vIve74nxGPyRIs/AdiRQsvKdSjadUg31FXrpwAlgReqnFb80RS8wGKFnXdI3BE+o msincJssGdFloXKIeZyw1urIE8zz5u8z000BLv/KjMk29P+JHnuZp4SK8nynBQkv DRqJiQra6meIJmsf2Z9atw== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 43t9cherc6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 02 Jan 2025 19:15:40 +0000 (GMT) Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 502If0Ug013013; Thu, 2 Jan 2025 19:15:39 GMT Received: from nam10-bn7-obe.outbound.protection.outlook.com (mail-bn7nam10lp2044.outbound.protection.outlook.com [104.47.70.44]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 43t7s8x48g-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 02 Jan 2025 19:15:39 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=t18FbnT0Fn7uNvw1HnjuUpqTDG7Hqcqh6dolhgW+e6BjhOJ+zXzJmH+XTl6P5cSG51HmASVQpWewZ1LDO95L84aoHQLMv9+AxVcDaHVSNdKIjxYCOm9yAjVzhcsFOMVVODZF2QwuK/cecxV8ZQHBGHZRY5SReJyeADnZyb3+EzGGLCxyCGASN4DEkIeGLcdJ+FzZXk3W/JCRGaAv5e9wlA2kOGlIaQKx00XHhoHhqIBFctPeUm9U4FUcCy+zvWnV+emtVkmfYfySrqQ3RHqGQt91w9JeADl8Esc3DeWIDkpa4iR8ayQ7+rgwCtwNAX+QNAL3niuvFRdPooGZhs82gw== 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=oXu848YL52QiuEy1U/1hphgeBf8UFaZtRZMwWcsYsdg=; b=M85pgUNm/SIry7zzcjikt0Qwu1nzVjmOyez4qPRwmMNv4GJaFHloyfy19qLV1mtFw45QkuNFRnvxX3aguUFfDOapZPR1uTeRq5UACVGFTPAMqPyAVB2PRKso0DNEku5TUFUuU4JLe899XIXLugLHOpr1zvgvS0h5ssZFdo67sKrSId2R5aUZuEeb9q+SBU7gkFeHnCJLQKEpOY6TYqe0PtrMG9AkgazTOysWSqVOzknm4uu4qn2f+LHJwpfO9y43dijBE3Ddf3S/7yfjDdb9W0KOJ5dizPQ2m5KhcG7iF+AtOzlJzL+8Md5WK+iA69EciNFaj2yiIwHEo2aYXeaf0g== 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=oXu848YL52QiuEy1U/1hphgeBf8UFaZtRZMwWcsYsdg=; b=edvQXuTf++qtSwQfEF37au6qRAdTO0OT3cJ1/KnbPe4p0AaYJW83uQznPzgbugX/AzxNZNcGJ3gUNcbykOTDBP6pyPWqrT1dN2A5uhMC7hQugl9esgJduDQ0N73MnO5VLMDFHzs/KMK5HL5TSKwSYVoKhM+Z3VevbRkFAiY0QZE= Received: from MN2PR10MB4382.namprd10.prod.outlook.com (2603:10b6:208:1d7::13) by IA0PR10MB7304.namprd10.prod.outlook.com (2603:10b6:208:40e::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8314.12; Thu, 2 Jan 2025 19:15:32 +0000 Received: from MN2PR10MB4382.namprd10.prod.outlook.com ([fe80::5033:84a3:f348:fefb]) by MN2PR10MB4382.namprd10.prod.outlook.com ([fe80::5033:84a3:f348:fefb%7]) with mapi id 15.20.8314.012; Thu, 2 Jan 2025 19:15:32 +0000 From: Cupertino Miranda To: libc-alpha@sourceware.org Cc: jose.marchesi@oracle.com, elena.zannoni@oracle.com, Wilco.Dijkstra@arm.com, Cupertino Miranda Subject: [PATCH v3 3/5] malloc: replace _int_free by _int_free_chunk in sysmalloc. Date: Thu, 2 Jan 2025 19:15:08 +0000 Message-Id: <20250102191510.360360-4-cupertino.miranda@oracle.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20250102191510.360360-1-cupertino.miranda@oracle.com> References: <20250102191510.360360-1-cupertino.miranda@oracle.com> X-ClientProxiedBy: LO4P123CA0270.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:194::23) To MN2PR10MB4382.namprd10.prod.outlook.com (2603:10b6:208:1d7::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN2PR10MB4382:EE_|IA0PR10MB7304:EE_ X-MS-Office365-Filtering-Correlation-Id: ff570ac4-4b21-4196-c9c2-08dd2b61d39c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|1800799024|366016|10070799003; X-Microsoft-Antispam-Message-Info: e9H65psvS/TYFqi3/M9xzn9E2KkpLPsbjyUVqLx3oDQCgxZnaMw0xn6E4bZ1VSIVpbOoGX7x9DQmPSNccA0s4/Dq0H9gBhSgfy14HPG/ckWGHySeW5JspdrPkq3ANfZqkrR0PkKkpvvoCpfVe9bjABl2JjGBZBuYhSI+gF9CmmKkhUNEZ8wm3t6nlsRKIdvfdO0woWLRebuVrjx+FKUb1H9utgIJ+tiMm3SFfHS00m66rSYCzU4EcfmHqDoUj6qM+TThApRi2g7TyP2FBUiGG0k3o34HZ+SDKAZq84NxJFV6F3r6xpkIBWbHIq+sXIvYgA09VLh8ugeqqK1Ql6P6uEellURRu+0SQX8zZgiAhRXykK7NqN9n8ZhpcOAk4mXwqaLwrutNlPUPvvcrVunCcxSIeKKhnKcgu1VHh6jZNWZUI2W90CVvQlnrOn4vh4cqr1JGU/HhFhBHjQcJSSk47ll2+htUM2ZAuvsilA+/x9Wii1m/lZPq4FDCjK7uU47yuJ2QTUj55f0AaCenra2rLhZki6W36/03wf53Kcs4Id4EXvajD5AGaaqb4I3qBh3GeDMiG04o1Kkx2XP19UJlMYLmCZXU/cMS2R+EYfTovFjNIJxtdmia3kHGg7lXalhqNFFg0NXgeN9DlAF/IrR49BTOd3da/hHQXZ1f6CQvT5ZDxOYdnQ/hpZYt2AooNWv/OdT62ZG6/7VYJtCfiJ6abSjOZVLxzZitSYJsCK5l6PTE5x9DMVByZDu4z8OR2hlekbepleZOCBFHvtzJX0lQ16vWeYTjMSmtlLBw8CZx9bk7vlXHBYB+p5ptWpqSAWk4W2loz/NC7PDymFAy2VxPIROpe2FTYeOZ3wgnANLFdlnnlh0uNbgxSGdaGS3Zcn2mP/2gzf94szKQ0KM2VIfopAgZjJDwJVZg20S47dZp1HZiUNPqMBoMQcWjIMlLQ81G7AnQWSthlMwXWfTqBe3QpmaiFbpjI8FTU9ApjAmCV6nNwO0Fx2J47ewUNj0HLyNNPTtkkp7xj+v6mhtM8ngPOZMaGMKZQWDghq98k5ViwAXrqBpUKF78vJmG6VcBt8MLsfJUpeE0yqXkRFjT9n6bWg+wjT8NJpl9oG4/5xWbjOiX4KgsarN55FYSVrO8n9+UHe7C03/MlB5W70M8JYKi5NSItFtS+n7VlItk2jB05Xg4kIuW0CfV8adRrtScts/ym7n2DB6LJXwdxy5hMCKSdRsX4Gk5dBSWeIDjKW1l59yeGyKjhrPEoklec7dqjho13mLrZVqy2pV0KkGOOJKo1A1KP4qWVPxr4V3iJTx98NknZ0KvL3qYF3p3Y/J94+BYJr9398oFXoyznPxgrYBOAnEPCgIbjJaCbzAJUuclrwXXDTOzVYD7iftpHODX0wmT X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR10MB4382.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(1800799024)(366016)(10070799003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 7d3lr5LtsoKx9PQeQJvymjOY3h+QX/9ye6LIp4IM+r6y57+/04MeUnEp6f8Ar8BGzl2p6s9fszX9fTrmtDfmhs547R/EIMjGizbbMB3lFl7b7s76AjCNAr2IPG6xC2HA0hF3wLjQO8kcUWnLf8CtG3E2JPc5NbTPW1T7+ECEjCAFy45y3PznC+yayze3xDZnMV8qmRr213UTVBx/Ji2p0D2fOS2DbwIzMVpxhzLMsvr9TUV9zjwNF0z6koV3y77XXpNYNk6XepamjMSTHZU/FSwTslxBWV7Ct+wpH6npkfWgivMZ8zc8eE0dP4oCZAmXzCkT1UEC/Daz3csBW38UtkPKD/AvH0KNsBAvsqxGVO1xDDEttXlB9iU77Dm/M4RBRhCmXMpNZdUEaXn3wyEYTTY90VaODTMMpM9k8/d83iI4zvSfIm3hCgi6BNILXLsFH8vqtgcO+7umgs6VVJ/0IBjWircx5B+/4+Ole/zmDVc+ceN+x8BucoI1Iukz+KoXthJlCFKx0F+ARKCgYb/FodvtGXdG78grMgELkyA58tm2i97En2oCfjjhbAMpofxEuIzugoHPNkAGdmkTwhNHzI5Sb8BwCrJVVk0uhRJYNpAVtQngoGLI64c4skd9VBq1KAUNgwrMwXWA8o3xNR1p+sch+yX3edKtbnJqOzwE/8pUwS6XM37gjOKyG/nxs8Ff+K5EIxSZLwHZz90sLApBDOyeGN1X2gVzIhyJedgcVLaOOxsc/hf0+IOX+tsUw3XtYXvKvLXdNZlce+UyymH0NtmUuKlsh3JViTtsHDtgrPsvTm3C+uupIkejLiOgm2gW9XbdLiss0RzET8g2gHC4CP+zcIQ1vjgjg2/SaDp6RJKgnC2S84qQ8pPzwCjhpYZt63fRqVMxtP3rCdDUq49LEDrTPuTaxSBhZz8g0xRcRjsF36PdlhgpJwewbCoyn10XxOiIYLb8Xhz5NOdTQsp0LKFrwmnZhnwOLQm8/AqVaWMZIe8DcBpPSuxPO4sJJx9BceLG7+lIV6czYrHvvpfdoqzvJnnVY0CXnYeEz28LMUbWcoQvdfEAe/pIFKETG7zEcawrjbsw1cZehGWzanRX96k62lBbUP36Vm8QZRUnnPj3Ewa9adLULJ+hkVM0NVqrZR+YOwcTslTcCeFT0Wh8FWGoygWteYEdCtVu/xVOsEbkNeww6OH3v2zOsx3l+TGzdNmKWxNBcN/J7Nt8E6MjuwXTJQ81lmnux2MJE3OlGu0rdHEfgsWyoafkYjEeiU0qrRU8gy/SD4YCfbRMydpGQmadBT+RD/hB5EjBLgDiWhmJAxqpmW8R5IJ7uTrJQbc0dpbH+XzAe+1t3zgAm9a8aPcOJs5SUwpGCJrvPvCbFQBGDoCABmbTC7NEzprwkFCRbRGYnyPKEOATI0k9/U8yFeXC6dGDLJpmrqzsXRIif295nutTq69xoxL5umbJn+Hm2dOK73uHrbJQubii9oUN0aFa9Aqc3knsHdnq52IF36IprSCAXQSaGDIJb4GYB1eeIGySb2tYVFuZVbuCILdgksWouPpxaP+vHlAI34Rfz9/19TetsbPjlcqDkMbzoBPkcOLu5QmHNrQgXrxc4inYyeysJjN5o9KH3DftyxfPBTI= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: T9FMdwtQgaYu1Rj+upCBOxKcyK1+npzxYdsFrixln/bVSX204HMtun64vy773ohApKoaLtg4fwFesa4FQ6HIfmX0cX+g4hwBq1pdRYPl9FbEidPkfrQDFS5Hhnok0koYQYqPkFoUoOFFZPLrwSD3IyRYx4TAkwH/x7hDg6BAbnyWnFi8tPBskMpbYa/RhRCyfyEBkY40/m8wVaWLMTk9U15xH5Y42f2idcd6n7QCYCYh/gaNWMoTKz897Dc+ZRSkqnnIOj6J26NIQsKRJbDxChCAfsj2yrCKSm+UHd+ijyfrKR1/osfAR3sffcAi/LvYEZTzVJUKDFYBSlEl0vn1+Vse+1E5UFuEolzFAKNBoXs1ZN4MdFsk4rELd4OoGWNi2B7N2GBf1u9R1I8FGt0QiwO9yXz+6xpP01cbFugnoYV5rW6NPQg8WY87dzbfbsVssm9vZqUamX17X54ZgLujew7HQrdHOfOQy27hJYQ15DT79sy59QQh/xSjMkAj56v0rFaa/oOGZ9pB+dI1ZuquU3fC9wMxURu2TgWu76RiDr/AF6sD98J7Qk2X55bdJN+btjOBubQjN5/mzu7QYA+S908qhI4QIBZYr+VyguCZxlQ= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: ff570ac4-4b21-4196-c9c2-08dd2b61d39c X-MS-Exchange-CrossTenant-AuthSource: MN2PR10MB4382.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jan 2025 19:15:32.0350 (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: RaLgnhGON3mJyIyr0uEa1OzJvEUvxWruCqnK33CKcNsWVOxHoNFse+eAwaFc0Cl6yNCFx2P7xMEkh494uutHA8L74QxzzW4QHBdGrcAgynE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR10MB7304 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-01-02_03,2025-01-02_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 spamscore=0 bulkscore=0 mlxscore=0 mlxlogscore=721 adultscore=0 suspectscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2411120000 definitions=main-2501020169 X-Proofpoint-GUID: VMauHjD1U7SRDTP7YU9Ylbrg71lWV7f8 X-Proofpoint-ORIG-GUID: VMauHjD1U7SRDTP7YU9Ylbrg71lWV7f8 X-Spam-Status: No, score=-13.1 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_H3, RCVD_IN_MSPIKE_WL, 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 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 sysmalloc calls to _int_free should not allow the freed chunks to be taken by tcache. These internal calls to free do not reflect any of the needs of the application, but rather chunk management. This code replaces those calls to _int_free by calls to _int_free_chunk. Reviewed-by: Florian Weimer --- malloc/malloc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/malloc/malloc.c b/malloc/malloc.c index 77593ca0b2..9b2e04bfbf 100644 --- a/malloc/malloc.c +++ b/malloc/malloc.c @@ -2646,7 +2646,7 @@ sysmalloc (INTERNAL_SIZE_T nb, mstate av) CHUNK_HDR_SZ | PREV_INUSE); set_foot (chunk_at_offset (old_top, old_size), CHUNK_HDR_SZ); set_head (old_top, old_size | PREV_INUSE | NON_MAIN_ARENA); - _int_free (av, old_top, 1); + _int_free_chunk (av, old_top, chunksize (old_top), 1); } else { @@ -2912,7 +2912,7 @@ sysmalloc (INTERNAL_SIZE_T nb, mstate av) /* If possible, release the rest. */ if (old_size >= MINSIZE) { - _int_free (av, old_top, 1); + _int_free_chunk (av, old_top, chunksize (old_top), 1); } } } From patchwork Thu Jan 2 19:15:09 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cupertino Miranda X-Patchwork-Id: 103911 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 97C293858CD9 for ; Thu, 2 Jan 2025 19:17:58 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 97C293858CD9 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=oracle.com header.i=@oracle.com header.a=rsa-sha256 header.s=corp-2023-11-20 header.b=Zw8gLszn; dkim=pass (1024-bit key, unprotected) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-oracle-onmicrosoft-com header.b=WM3KIklX X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by sourceware.org (Postfix) with ESMTPS id D38213858CDA for ; Thu, 2 Jan 2025 19:15:44 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D38213858CDA Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oracle.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org D38213858CDA Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1735845344; cv=pass; b=QxaqURRygLqNdm/SEmIMcFpK0Bpdu58eOBLR+ukYj8nM0CPg1gQ5eAwhVORWno5yzQyIn07qlyG1tyTXz5zSnwgR8Jld9NGc9gVjeiO9vAiYyldV0klZE58efwY1dtzx5e3hT3PZK6WBsJCSeVzDwOs+KtQ4mnWNzJFs9uRPNcs= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1735845344; c=relaxed/simple; bh=uQehxcG3OOB++QQEmcoUmn/RiubZ9oTiUUtmdAviFSw=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-Id: MIME-Version; b=DnAaVrl5jpCAPHfqgLvz/4vRGM+8xwTyCak928kFqGhZsZGWVyejD6VvrLxDpSMHGzBtbHUHb1Z1+ptqwNoBb5OvlyZ4wSmzt0RvXmAPvCWOwEa2kEAlsVtlrH6AA3dnn1nLe+80P3mi2pEMfepMk1qWonnfJgHZkvSSfU1D0CY= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D38213858CDA Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 502Itpjw007039; Thu, 2 Jan 2025 19:15:43 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2023-11-20; bh=FnxP/kRucdGkDqoFCWNR9pi0kg+nhARfun5KLVci7ko=; b= Zw8gLszn8OVNzZq66A0xOz+NvGB0RSU/10tRAi8i0ldw4ct0Us+fnBWlmaas9yBq kCcKjyLomRaMQSHKJ9FuG/mfzvO+EqLjAfxqBk5EcKrswrtJRLusA9kawqCaEhYj dyo3jeqOj+8bWCeMLbeidW0wSLUhu272RJHmWYfTWH3V1ZolySBn3dWc+0eyVQvr jOKLzMboDiBjUT+Uex1ykxf6qF44VCuQU5G7ScZ5tiklQ4ykuFkTmnu8ipFJ8kw4 ZmxDkznnZ0IC2eWdV6zyTKW37UL0RsD9WS8eESv9voO/v9kz+at819sr7YO+EUiD En5D8lwcrJRtblGaa46hfw== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 43t8xs6ng3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 02 Jan 2025 19:15:42 +0000 (GMT) Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 502J59Zq012329; Thu, 2 Jan 2025 19:15:41 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2049.outbound.protection.outlook.com [104.47.58.49]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 43t7s8x4aj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 02 Jan 2025 19:15:41 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=M6IOqTzLbiLR0q0bK162k2DiDEUNuru/W/iu60sn1XTO3AfCfSHngly/Qicx3ceRecNh+2ag5BZZNNdkdXjg3c2gH180o/kUjLUyPjwRvGCHdYHs2B1rDi/y7bq76ixNeNuEm7HtxRh1uUFQ7f2its3C3nUHc2AyIZ0UywIh2EXpuBRiXyYoEgNxLwp0GK8kXzinasX3pnaZHLRznsaLJtXsL61VzpL7nGKMefI+8WNpxoDY9QwnVGos25SO52JcyJLpHoyiGeapHwu9Zmx3lejPCZ8USTgwLa+FQl6l00TfmerMMfG1euHFoZmRiGTx3alRMNNlykXirvhVTqyFrA== 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=FnxP/kRucdGkDqoFCWNR9pi0kg+nhARfun5KLVci7ko=; b=fSbbw/9ST1O1sW6ekCe3+vHdNdj0FKvdoWKEIYAlJnW3y3w5836pHtx2HVdDiRNVTpiV+2FHsujI5zh0Ve04sclv0sVlg6rDxXNqyDNtqL/ZnyLl3j8YZoFonvDoUpxoK2scRkD9OC9k7Wz14yInHuXrXVQpipn+s9SpqSIFQIkmHhHlJkoBcWLQcu9AoX/c1zcGUbPDAxzlqR5hFAIQfjVdkurar5yC1oFapb9hGgcfPgia7p3gF524aoDVZnhgCOcBgj1QEkCIsLUL3Y3J5Cf5Fv8IN0fcc8d1tBN+FqqOf7bnw//3J40PyWrExMY+PLgHBzIefYZtzPEmifuuOQ== 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=FnxP/kRucdGkDqoFCWNR9pi0kg+nhARfun5KLVci7ko=; b=WM3KIklXPkPgkZVeVvY1Q/On5GUUQABri99t22P8Nqa0gKibkU/UuRvi0T4JDkUGDASv/erfWTQLiBILPF8eU1eQmQtopE6YV9Olq4pREeGe6FA7zf4FoKewPLQa4H/fUO6L/4Tmtupis0B9spzRRHiYKqf8cvrZBVQPwykz6Xg= Received: from MN2PR10MB4382.namprd10.prod.outlook.com (2603:10b6:208:1d7::13) by IA0PR10MB7304.namprd10.prod.outlook.com (2603:10b6:208:40e::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8314.12; Thu, 2 Jan 2025 19:15:35 +0000 Received: from MN2PR10MB4382.namprd10.prod.outlook.com ([fe80::5033:84a3:f348:fefb]) by MN2PR10MB4382.namprd10.prod.outlook.com ([fe80::5033:84a3:f348:fefb%7]) with mapi id 15.20.8314.012; Thu, 2 Jan 2025 19:15:35 +0000 From: Cupertino Miranda To: libc-alpha@sourceware.org Cc: jose.marchesi@oracle.com, elena.zannoni@oracle.com, Wilco.Dijkstra@arm.com, Cupertino Miranda Subject: [PATCH v3 4/5] malloc: add tcache support for large chunk caching Date: Thu, 2 Jan 2025 19:15:09 +0000 Message-Id: <20250102191510.360360-5-cupertino.miranda@oracle.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20250102191510.360360-1-cupertino.miranda@oracle.com> References: <20250102191510.360360-1-cupertino.miranda@oracle.com> X-ClientProxiedBy: LO2P123CA0078.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:138::11) To MN2PR10MB4382.namprd10.prod.outlook.com (2603:10b6:208:1d7::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN2PR10MB4382:EE_|IA0PR10MB7304:EE_ X-MS-Office365-Filtering-Correlation-Id: c4f93bbf-a0b6-4b93-0d33-08dd2b61d5d2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|1800799024|366016|10070799003; X-Microsoft-Antispam-Message-Info: recE/laBvmjkWwkaMrhfGeq86kbkc1djuai0+Ngak0hjGYHBknpyAImlhqaltfzXjAknbhm4dhbFLhO0hRI+ExG1kumhfFAo8SBJqUZ6sQl1LAH29SHXISL1j//9b4WwG/T9HfK1wEb0ZLiBXTechrWFT3rpVn2vabu9SuRNCW5DJrHr44XeE0Tn5f/vAOGpcO7fteaxWkgGLbDUH5Kr0uD0IxM6IxASIETSyKphXoWJGdxu1YQHKwCQO2EtEl5HXab2ksd9U7P0gHeCFDXeUtrCCkLOxX1GBmDOoIQwbawx+1NiPsF70+mmITJ+LFMymaBIjcW+Nyf6OuWXfJ8vS62coZY0PnWSu14+W46R6Y0aWuhLOQqCHsHxnQhLLtt//vQJG6Hd3wu34i+WxdktOZnlEp2CxeNtWZMGF69r3ojv0d6Ovz2um97BEL8G31JC1dIn9F0viKQa7xVytWJVg5nyYCvguKjAY+VmeG/v1Q1ZN3CG2NmoozSAzyuYVxS3Sb/svt2Zc90iSrMrPetURI4WTS19gfd8NFALaSh+6Vl3GBXWaby5fzPY+APRyAjMxciLHlEZlDTI4DudvJfPWHlaVAd5yOOp2OkvDKAD08IuDRsFNVRXPBgtpTAfiFp79+t4Iftykf9EtMV34pDZ5YKll0Vn7JmzvaYA2/UNPCjqstvYzPJudobEzlw+yXl2WIIA1D3IwTdlmEI7w2vKCWs6yVUdYcJHj+KRrsv1zSp/SO50PIwnjjOx/gMrV8mEMSqdkzBcMEbiM7Q/dvq6Cy3NUZKN5E6XJCSC+6va+Ubzw1Z9SIMbavRaGtVL0o9wLP2luONRAOJ0y7G0ok7XU7n3jUoatXobmmdnmT9mUYO8umBnpID1P2YfE/txCAzMrsL/OVugFZTr2uZN45mnXW8MN+aLiwbvXhE+uz3g3BVTREaAmuAj/nYnFI1Vt5fZljXAWIqatU7renNjfFvOpaCxMcCr8hUEhcQtaqZcu1XrFukG6ne8VCsgnrno2xj7vkzVRraz6gjjyUHl7mB8kaCrF2YNH1szy2rHW3f4ZOxJKYItbNuDwgNNVIjS+kyxaoJxdb4kD5g/LRFwwceq3AmA//R4UkQwyHdm32RIJLSLrDDDPGYV/A1wGigZiLXbwZTi3dSd2xrZxreNmLroWKXB9pwPB5QsvfEBwDk6DUTinMT+CPhb8j4FKaZkjVoWRVJ6sM2YZ1JhWvdidfQrsLNI8mGjzzmYVvydGs+pMQQ9JPEN9xMKHyKxtqCKYPL5cGUTBsmPs3/O93MfzsV3oIjyrXnyl7wZcOmxm+rvYiHG/5v2VBaV2fWHZ+UGIndclCzaIshMa/i9P4+1hq3xNCOQ9R4Nby4mXhJZnaZVlXxEUEndOYXA2G9ubMhI9IL8 X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR10MB4382.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(1800799024)(366016)(10070799003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: /GfX3VxhR7dy7/qaaSetJmVg8zcV0j8xuvC0VFKNwqNuFv5pewjSHj4vVc0F7T0kNoGdDfqwpHlQjNvmWYB4li1kL0p2twWNl3FmzMWETOpJCYBs69cicDANFgAkA5iD06cbtJuU8/Lf8mPq+h97ue9X2T1sS7GK4hNvah/tmeME49iUtQZlSMiFK0Shzi/D0hQRL8Wh9TfNsovmrxTjeadNsXShn/cBGrsBv6vlL97ky6KgNBahHLtmjaxiQMtq2bwrMN74mKuBftalPBKionNo1iUQZ6RPX0yLvVKyJ+rMYeOiqcboBqjBCC6iKAh2EZL24VfPtGqZIOCpkG1EDbqsJmu1kBNB6wuGOS+ElZVe7YhSIC2olOrnaJXeowshCT+LN+CA4X1DQVkuZNhWPta5Pt6HRJ+lHcei7q/BaclT57pJElakFv1g1QUvkA+FurHH07lLYvJWj3g+XrqoczfbKo4gH7Ditr2DJ2QosJl7pu3jmWLA9W3etwyXMFtCk96EdJ7jjnvg1sBmoqCoGLqzHq9b1hSXw5iOr2klswy7gj3Q5aMBk+G7eTgxSh1WgkBMnLiTfyZisuIrh1ZJd0zCvVMPu1GT3GiIf4xVI5UCSgYTEQzRIEWUhr8ElLtbZbT/Y7ARtlR1bWANIAaXCprSZN/vChP7VdhE57VIAunJvzvkCgIWaELnByb5jobMKNFBiUsoRt9qqnnY7aC+/f0r73eO+Lv6N0PnaKRtBID0/ZWGvdMy/jYxZ3AomnDJlQtKPZ7gPZ9V4Z2fy3NfTkl2jVsOaSGTLt2bdTSBcmAA4SGWErKe1RP/xV7RqxcD+wx/l1zpf0+rD+qlsNZczymuP2J6Uhcl3m0NuDZn8PhTWWiLE9gX9zxWPwLd8AbYMk+Dxmdsa0jpFnyU3A2sijJCOZr+DIUw0pryYLrRWrG7jeUJoXxClnTcAgb0JgEvRgRc1jzq1E0Go/M56Z/aUN2AspOp+nnih/gDqjaxaV9XNqZ/cmPKxCVwTna34oXmeNHeHs5TaEAtK/wihkgCFs2qG196gK8HDtK2lCK5WVRu+/DSF0uSWPS4/mUtuJFA+K6V12pSxQ1JElh1kPpu6+ScA5xH5v+Y9M1A4P/x/DgyuKTYcUbVAFQO9yAYi+keDpvM8vozaAAkg67RTpEbKRQgM73tcvv7DoyASmQLIdFDOFXEjlZoVO4T48vIzUlBuNwyeKbizutZF2h+SugOx63U4aiPoZrIODAEV2g/vsNC1U2sfA5JsrQU7oF4EJx40/xTA2mT/ePJt55H4+7DCYdrPTxou27QouJ+EyPI3pwx0Z4fiuXWDGZjB7lPhRD0/bQDPS9FwROW7aJkXBGKXY5Wxp1CvT4jlmVUcHBfkPRwBjg92Z9R6ZL/nsMNvKYYUYlOpNmsjsb9Dj1y/YmFq6n4/K8kQGPk60HPYWeTjwu4TWaIVDLW9+0BkqTv+7CUUJuS+VDfuZfahXowiLCYLAafUoShLJYAp0/xlgtZTOcVkbwA3gbHieNxMRb1Nz9S/h+CquhrqkOI3Em/EuLyqPDHmAOSDRX6Mura/DioasGyvh59T4hg4Hn0HBR0BeeXnMoOFQa7ggdeIMJEBp1RLdmcwUQVPDc+J+iclJAj+eg= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 4nCtdinR5IhKyPmbKRM6lqTVwvnEcLiRUH+h8ApM8MSuBBedgFd9kEtgfnLmPRzHL47Mnng8a9xum9zZF6L1JgkMbda6VTgvGzfV//s3xUmwVObX29N6sThZOkwom1Miej3O+Scn5sWldq08yh78eNUYaGum0+Ow7fweH1bdgiarS91Dmzn9mSzYATMzoAWe2/sxwl6G78xziz8HCt/9JBYpTSUEjlth9kMe8zdetfaaCRq+NGbMi876b4c84uj/0IZb+aBNyd0Q/vMxGBGt2L76Z8I1qho6Ha2bBrct460aKEen/k3D8pAMSre6sRb5+x26gapVwbviHet1Eo7sRzw86RPMsn2MQlU4ipt49FvF1kq84hoaDQA5xYkJ4GW+MJ4P8SIN2VfbrAFTrZ68CwSouF8aQSNHBrNKg0Ipit1tiR1w7+DVevNtrtS1iSXKGF1liTEKS1Oe/ZDjQuIPON/o7zw7+5oW9U8VqioVf2uF/X+sIn4OSFXyowNYSlHgERJ5t+t0Atb9s+e+z4mbz81+tIomc083vJ4tjP83gpeILCuIH9/4lxaQjW2POYbGBSDnYObr1KY6zXrqqCOxlznS6hzr2B1wkzWp8v7mmdM= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: c4f93bbf-a0b6-4b93-0d33-08dd2b61d5d2 X-MS-Exchange-CrossTenant-AuthSource: MN2PR10MB4382.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jan 2025 19:15:35.7309 (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: AUDlhJ4fkJKACDgvKtnI6RffQ4WIRPexNUtvTx3o80MvrGMESsDgzMkv/MWmIp2cnCiVJwV3PTItcdls3ILmruTiyHjJKP9ACvdHigeXUnM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR10MB7304 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-01-02_03,2025-01-02_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 spamscore=0 bulkscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 suspectscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2411120000 definitions=main-2501020169 X-Proofpoint-GUID: Pb8KhU21WSZkrmdpHWPxuHjzAVuCMOb3 X-Proofpoint-ORIG-GUID: Pb8KhU21WSZkrmdpHWPxuHjzAVuCMOb3 X-Spam-Status: No, score=-13.1 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_H3, RCVD_IN_MSPIKE_WL, 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 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 Existing tcache implementation in glibc seems to focus in caching smaller data size allocations, limiting the size of the allocation to 1KB. This patch changes tcache implementation to allow to cache any chunk size allocations. The implementation adds extra bins (linked-lists) which store chunks with different ranges of allocation sizes. Bin selection is done in multiples in powers of 2 and chunks are inserted in growing size ordering within the bin. The last bin contains all other sizes of allocations. This patch although by default preserves the same implementation, limitting caches to 1KB chunks, it now allows to increase the max size for the cached chunks with the tunable glibc.malloc.tcache_max. --- malloc/malloc.c | 105 +++++++++++++++++++++++++++++++++++------------- 1 file changed, 76 insertions(+), 29 deletions(-) diff --git a/malloc/malloc.c b/malloc/malloc.c index 9b2e04bfbf..305b2bc39a 100644 --- a/malloc/malloc.c +++ b/malloc/malloc.c @@ -291,14 +291,15 @@ #if USE_TCACHE /* We want 64 entries. This is an arbitrary limit, which tunables can reduce. */ +# define TCACHE_UNBOUND_SIZE_BINS 10 # define TCACHE_MAX_BINS 64 # define MAX_TCACHE_SIZE tidx2usize (TCACHE_MAX_BINS-1) +# define TCACHE_FIXED_SIZE_BINS \ + (mp_.tcache_bins < TCACHE_MAX_BINS ? mp_.tcache_bins : TCACHE_MAX_BINS) /* Only used to pre-fill the tunables. */ -# define tidx2usize(idx) (((size_t) idx) * MALLOC_ALIGNMENT + MINSIZE - SIZE_SZ) +# define tidx2usize(idx) (((size_t) idx) * MALLOC_ALIGNMENT + MINSIZE - MALLOC_ALIGNMENT + 1) -/* When "x" is from chunksize(). */ -# define csize2tidx(x) (((x) - MINSIZE + MALLOC_ALIGNMENT - 1) / MALLOC_ALIGNMENT) /* When "x" is a user-provided size. */ # define usize2tidx(x) csize2tidx (request2size (x)) @@ -1926,8 +1927,8 @@ static struct malloc_par mp_ = , .tcache_count = TCACHE_FILL_COUNT, .tcache_bins = TCACHE_MAX_BINS, - .tcache_max_bytes = tidx2usize (TCACHE_MAX_BINS-1), - .tcache_unsorted_limit = 0 /* No limit. */ + .tcache_max_bytes = MAX_TCACHE_SIZE, + .tcache_unsorted_limit = 0, /* No limit. */ #endif }; @@ -3119,8 +3120,8 @@ typedef struct tcache_entry time), this is for performance reasons. */ typedef struct tcache_perthread_struct { - uint16_t counts[TCACHE_MAX_BINS]; - tcache_entry *entries[TCACHE_MAX_BINS]; + uint16_t counts[TCACHE_MAX_BINS + TCACHE_UNBOUND_SIZE_BINS]; + tcache_entry *entries[TCACHE_MAX_BINS + TCACHE_UNBOUND_SIZE_BINS]; } tcache_perthread_struct; static __thread bool tcache_shutting_down = false; @@ -3153,6 +3154,39 @@ tcache_key_initialize (void) } } +static __always_inline size_t +csize2tidx(size_t nb) +{ + size_t idx = ((nb - MINSIZE + MALLOC_ALIGNMENT - 1) / MALLOC_ALIGNMENT); + if (__glibc_unlikely (idx >= TCACHE_MAX_BINS) + && __glibc_unlikely (mp_.tcache_bins > TCACHE_MAX_BINS)) + { + idx = TCACHE_MAX_BINS + __builtin_clz (tidx2usize (TCACHE_MAX_BINS-1)) - __builtin_clz (nb); + idx = idx < mp_.tcache_bins ? idx : mp_.tcache_bins - 1; + } + return idx; +} + +static __always_inline tcache_entry *tcache_next (tcache_entry *); + +static __always_inline tcache_entry ** +tcache_location_for_size (size_t nb, size_t tc_idx) +{ + tcache_entry **tep = &(tcache->entries[tc_idx]); + tcache_entry *te = REVEAL_PTR (*tep); + if (__glibc_unlikely (tc_idx >= TCACHE_MAX_BINS)) + { + while (te != NULL + && __glibc_unlikely (chunksize (mem2chunk (te)) < nb)) + { + tep = & (te->next); + te = tcache_next (te); + } + } + + return tep; +} + /* Caller must ensure that we know tc_idx is valid and there's room for more chunks. */ static __always_inline void @@ -3164,8 +3198,9 @@ tcache_put (mchunkptr chunk, size_t tc_idx) detect a double free. */ e->key = tcache_key; - e->next = PROTECT_PTR (&e->next, REVEAL_PTR (tcache->entries[tc_idx])); - tcache->entries[tc_idx] = PROTECT_PTR (&(tcache->entries[tc_idx]), e); + tcache_entry **entry = tcache_location_for_size (chunksize (chunk), tc_idx); + e->next = PROTECT_PTR (&e->next, REVEAL_PTR (*entry)); + *entry = PROTECT_PTR (entry, e); ++(tcache->counts[tc_idx]); } @@ -3189,9 +3224,15 @@ tcache_get_n (size_t tc_idx, tcache_entry **ep) /* Like the above, but removes from the head of the list. */ static __always_inline void * -tcache_get (size_t tc_idx) +tcache_get (size_t nb, size_t tc_idx) { - return tcache_get_n (tc_idx, & tcache->entries[tc_idx]); + tcache_entry **entry = tcache_location_for_size (nb, tc_idx); + tcache_entry *e = REVEAL_PTR (*entry); + if (tc_idx >= TCACHE_MAX_BINS + && (e == NULL || chunksize (mem2chunk (e)) != nb)) + return NULL; + + return tcache_get_n (tc_idx, entry); } /* Iterates through the tcache linked list. */ @@ -3280,7 +3321,7 @@ tcache_thread_shutdown (void) /* Free all of the entries and the tcache itself back to the arena heap for coalescing. */ - for (i = 0; i < TCACHE_MAX_BINS; ++i) + for (i = 0; i < mp_.tcache_bins; ++i) { while (REVEAL_PTR (tcache_tmp->entries[i])) { @@ -3329,7 +3370,7 @@ tcache_init(void) memset (tcache, 0, sizeof (tcache_perthread_struct)); } - for (int i = 0; i < mp_.tcache_bins; i++) + for (int i = 0; i < TCACHE_MAX_BINS + TCACHE_UNBOUND_SIZE_BINS; i++) tcache->entries[i] = PROTECT_PTR (&(tcache->entries[i]), NULL); } @@ -3356,7 +3397,7 @@ tcache_try_malloc (size_t bytes, void **memptr) MAYBE_INIT_TCACHE (); if (tcache_available (tc_idx)) - *memptr = tcache_get (tc_idx); + *memptr = tcache_get (tbytes, tc_idx); else *memptr = NULL; @@ -3691,9 +3732,16 @@ _mid_memalign (size_t alignment, size_t bytes, void *address) if (tcache_available (tc_idx)) { - /* The tcache itself isn't encoded, but the chain is. */ - tcache_entry **tep = & tcache->entries[tc_idx]; + tcache_entry **tep = tcache_location_for_size (tbytes, tc_idx); tcache_entry *te = REVEAL_PTR (*tep); + + /* Make sure returned chunk is of expected size. */ + if (te == NULL + || (tc_idx >= TCACHE_MAX_BINS + && chunksize (mem2chunk (te)) != tbytes)) + goto tcache_memalign_abort; + + /* The tcache itself isn't encoded, but the chain is. */ while (te != NULL && !PTR_IS_ALIGNED (te, alignment)) { tep = & (te->next); @@ -3705,6 +3753,7 @@ _mid_memalign (size_t alignment, size_t bytes, void *address) return tag_new_usable (victim); } } +tcache_memalign_abort: } #endif @@ -3992,7 +4041,7 @@ _int_malloc (mstate av, size_t bytes) /* While we're here, if we see other chunks of the same size, stash them in the tcache. */ size_t tc_idx = csize2tidx (nb); - if (tcache != NULL && tc_idx < mp_.tcache_bins) + if (tcache != NULL && tc_idx < TCACHE_FIXED_SIZE_BINS) { mchunkptr tc_victim; @@ -4050,7 +4099,7 @@ _int_malloc (mstate av, size_t bytes) /* While we're here, if we see other chunks of the same size, stash them in the tcache. */ size_t tc_idx = csize2tidx (nb); - if (tcache != NULL && tc_idx < mp_.tcache_bins) + if (tcache != NULL && tc_idx < TCACHE_FIXED_SIZE_BINS) { mchunkptr tc_victim; @@ -4112,7 +4161,7 @@ _int_malloc (mstate av, size_t bytes) #if USE_TCACHE INTERNAL_SIZE_T tcache_nb = 0; size_t tc_idx = csize2tidx (nb); - if (tcache != NULL && tc_idx < mp_.tcache_bins) + if (tcache != NULL && tc_idx < TCACHE_FIXED_SIZE_BINS) tcache_nb = nb; int return_cached = 0; @@ -4287,7 +4336,7 @@ _int_malloc (mstate av, size_t bytes) && mp_.tcache_unsorted_limit > 0 && tcache_unsorted_count > mp_.tcache_unsorted_limit) { - return tcache_get (tc_idx); + return tcache_get (nb, tc_idx); } #endif @@ -4300,7 +4349,7 @@ _int_malloc (mstate av, size_t bytes) /* If all the small chunks we found ended up cached, return one now. */ if (return_cached) { - return tcache_get (tc_idx); + return tcache_get (nb, tc_idx); } #endif @@ -5546,14 +5595,12 @@ do_set_arena_max (size_t value) static __always_inline int do_set_tcache_max (size_t value) { - if (value <= MAX_TCACHE_SIZE) - { - LIBC_PROBE (memory_tunable_tcache_max_bytes, 2, value, mp_.tcache_max_bytes); - mp_.tcache_max_bytes = value; - mp_.tcache_bins = csize2tidx (request2size(value)) + 1; - return 1; - } - return 0; + LIBC_PROBE (memory_tunable_tcache_max_bytes, 2, value, mp_.tcache_max_bytes); + mp_.tcache_max_bytes = value; + mp_.tcache_bins = TCACHE_MAX_BINS + TCACHE_UNBOUND_SIZE_BINS; + mp_.tcache_bins = csize2tidx (request2size(value)) + 1; + + return 1; } static __always_inline int From patchwork Thu Jan 2 19:15:10 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cupertino Miranda X-Patchwork-Id: 103912 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 42B973858D1E for ; Thu, 2 Jan 2025 19:18:08 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 42B973858D1E Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=oracle.com header.i=@oracle.com header.a=rsa-sha256 header.s=corp-2023-11-20 header.b=TBhGzpQf; dkim=pass (1024-bit key, unprotected) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-oracle-onmicrosoft-com header.b=LibArwI/ X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by sourceware.org (Postfix) with ESMTPS id A0D0C3858D38 for ; Thu, 2 Jan 2025 19:15:49 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A0D0C3858D38 Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oracle.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org A0D0C3858D38 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1735845349; cv=pass; b=cZ7YMIPNWjqobBIs75O55sFfceV9yoOImXdDsowZSaBE7491JLmhLwIDP+RJiYSXdUBrXH3lM3ClVkYGw06uRbUhCE9OsvSj0yTIGLk/g/SqVN56/rI1qbG4e+vwBXR3ey+7QVOzaNBdUwILmLPLdcOm5lzL+Xm4n9Yy4BOogtw= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1735845349; c=relaxed/simple; bh=+NQ0jLvcCtWWGG7ZH5/um6cFDyn1878QABRqzLuXifE=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-Id: MIME-Version; b=xEjmL1IpC+bA7dca6Yb9gEZPJg7v0FLR+cKHjV5ohPGMbjnWpQsjN4gQ9A1UZbh6mgmU45O/Big9IIhsYnwLLz4Osz/V2AK5OiDW8xPnYacpIEkdPeG+KWDMgkVnlMjE7h1+CPwuxBsWUJyXLX3hFh40PtGCbDaxT5c+1pNWVmk= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A0D0C3858D38 Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 502ItrlN015262; Thu, 2 Jan 2025 19:15:46 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2023-11-20; bh=k0QPVsyjHIrkBpospyVltM9R6HnqWPeiSfuTfqYaK5E=; b= TBhGzpQfcNK8ir5+4fQZY6zN1UpLt8ncja9iH8eHcjupFpM1hImyY9fb0BkXt8dp ojRNZ+a4QCQBxDO/tFJF8DQEg3Q2GqrKk2ft8oXIRQXrr/KmKRTbErlKkdVNjNut neD2qSFw4vBpO+tsfw+3Hu/mrgc5ToSpeVrZzoIPZb+8o1LWoRH27ZC5vd1iPYed MOYhQfBVH7FwbR8pd2ttjuL8RN0X2E7cDWZB98gEjAmoSheBf3EkP9pvp69+JV3v XfupUdoELNdddJgiwFGYx2Bzb6Pdd3cjJZN09tSTAXE8MvKIqHzkwtKJo06W/cxQ 7vaIecUm51iFoJfeaOVsug== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 43t978pm94-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 02 Jan 2025 19:15:45 +0000 (GMT) Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 502JBrHU008755; Thu, 2 Jan 2025 19:15:45 GMT Received: from nam10-bn7-obe.outbound.protection.outlook.com (mail-bn7nam10lp2040.outbound.protection.outlook.com [104.47.70.40]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 43t7s8wwbj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 02 Jan 2025 19:15:45 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=lFPaWCmHTIVsHtLRfmLz4KvmDvcNYwODSIGRILuxMfKfVXStlIWZR2XmozWdOc7/IrOt0ungMB45tD54QuSAPS0kJF7uHvJMBl5gYJpbt5YpJte+FtS/40Fas2XOgfoMhN/CYu/30c1yAtk82r0Psp7jDDkStK2mpvkYS/TfCP1OFQM8gnxTasq0igMahDY+snQP3gWlWAzYOE+iG+G0/+vL2IMB+0ieBHAP9NJTXXzCF9wgp6lE++twupXg3VyvTic5v+mwyxsKxCLX8+Ceq0Zl4PMBysrznPUAQPGR7H26EyeA6TnYfNa00J0GS+Jmz6u6lCB7cEmX1dcx9hao3g== 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=k0QPVsyjHIrkBpospyVltM9R6HnqWPeiSfuTfqYaK5E=; b=P235HbwrJHe+wfgxKYm1dJm384KoxwgjX4avg05BHuh+anoE7EGufOPykYs32WTul09bfHItlCD1PsukCXeAiAGvTDkpGNZ1A8UMRIuUyZwsgPETPB/FU+YjheE+wwZd/72FgnFDiLVDkIsPUB4CGwFUdo0Gtb3pAXL0e3Rq39M82wjl73jeqInYd++7xLVYK5FHNP8wLvhrsy3XTkN1bD9Kf6N0hPKnFiwxqbagHBAkL+nFKeeKjayCeccH3JwtRFVXBpc9HULPpwCAvGyjerBre2HNKCehyLm1QYoBYiwNkoyl/oPeKjaSuoN7TqmpI0WV6kwznEPxnnGeouBldg== 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=k0QPVsyjHIrkBpospyVltM9R6HnqWPeiSfuTfqYaK5E=; b=LibArwI/zJUcTipZyU3FFTRCAjXcQBjVOlsg4RJRlI41Ck82FuC5kBbtRisWgnQ7DI0LaebfwfMnsjWSHVKxv1g8SZ3haFOy1zdyvdE2DVcv2S1BMYBNBIssUEmZ1JGQwaWXw1vKbvGPlMbKaIVYmu4V5oov1puVAfIgL8ZweWQ= Received: from MN2PR10MB4382.namprd10.prod.outlook.com (2603:10b6:208:1d7::13) by IA0PR10MB7304.namprd10.prod.outlook.com (2603:10b6:208:40e::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8314.12; Thu, 2 Jan 2025 19:15:39 +0000 Received: from MN2PR10MB4382.namprd10.prod.outlook.com ([fe80::5033:84a3:f348:fefb]) by MN2PR10MB4382.namprd10.prod.outlook.com ([fe80::5033:84a3:f348:fefb%7]) with mapi id 15.20.8314.012; Thu, 2 Jan 2025 19:15:39 +0000 From: Cupertino Miranda To: libc-alpha@sourceware.org Cc: jose.marchesi@oracle.com, elena.zannoni@oracle.com, Wilco.Dijkstra@arm.com, Cupertino Miranda Subject: [PATCH v3 5/5] malloc: add testing for large tcache support. Date: Thu, 2 Jan 2025 19:15:10 +0000 Message-Id: <20250102191510.360360-6-cupertino.miranda@oracle.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20250102191510.360360-1-cupertino.miranda@oracle.com> References: <20250102191510.360360-1-cupertino.miranda@oracle.com> X-ClientProxiedBy: LO4P123CA0143.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:193::22) To MN2PR10MB4382.namprd10.prod.outlook.com (2603:10b6:208:1d7::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN2PR10MB4382:EE_|IA0PR10MB7304:EE_ X-MS-Office365-Filtering-Correlation-Id: a37821ca-b01d-45a9-d434-08dd2b61d7f1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|1800799024|366016|10070799003; X-Microsoft-Antispam-Message-Info: B8hRUeXp9Qql4K8Fx7OgcQW/WnuOMy0cFjgATlSdtxVi5xHwpBBFuQUZ8kBlZ8LxSNY1OiKK+pSPqTKGwALRB5OGPdmRcx/tScS7lVCT9EWQGal4B2h61lygxtj4LCyqhbhvW9Rnwdc40blyN29+GX8TTyZ9CXUYg69ZeUOWbsbcA19Twz01mIrQ8vcKb5kiSphexAGbB9ymNT5wiE3Cvg0T8kn/+biXA/TWuUJayp9oHN8p5fME9mT7APVh2F7S8ie7GI5WdfeF33VQpNa2WMl9eUtE/ieLIpmnxRTi717y8NbEj6WOLJdots6vbZPwVXfogkqHv7tSxAyATCBlJ8jZug8+Rr36M4z4Fvom0jsXXM5PH0tv0BK07sloLTli6FXfKb1SY6aRWMNlWrbuvfG3hTj4Dor8As9tmPDppzq/CWX4VaFlhkapgEK6S/DDZB5NpSpgpE50ORHpmJB9CWQVEk0Cr9ar964A3k/Rfc9P7DJDCLEcmC0xIiUSvW0YUV0++6J2kDbQjoEVrkW3ngAYgWl2L8f4KkqcnYpLzEDZ8Ma+TaQ9HEmyoo8oE1E6PBMU0m1ngA+pRIlzWeW3tlezU2Nqez8f/RoiMXj5vkq+AsU35BYHc5e+sMbXhwVcEe3GNirZ5f2Pl+V+EG1s9n9oAiGZHMW/uasr5FGgd2I8Q0MMp5ycQsm6HWemHUevL0sw/mFIVmROLnIbidSxgpAbSDcvjoPqQ0MuEBlpJQPboWM/3L7MZqCjgfd060TM9JpZ3ZB6IQled0W6TjPbj+k8vZrzx52NXXz7XLa4v/luQAEZfzpff/wGHZv7XCmFW45huwqsh2NZjElDeRATNI0rIoyAsd1LPQ5Ia1jCcwV7xnXHWCbS+ClffEMNfD5IDovX3yfw7CHxG8rJmmLAAo83185uQTfEeRrqxymFuR9LzNm1YXGeSVPCLuWVR4ztwJUj1PSK9Xu2CamBELMf+SXL8Bu9fwxObFwzL4E9rw9NSmXDPi7HDVCib7z/SIHfoiMgh77bWcaPPKMJVO7JgxdKEbYYghwo+rpByLPiNbCHyPPQrTda6UIK16wWIn3A7RdMSNU4au1v9MTJ7gPg6TkwVCE3p7RSHiGJWjj7OP+7v9MTSwkSpnM7l4b8BAR5q1nEtmgajzrY+9JAvmiL8BpUUluwuWTAEmr25N5cnCjgOUT0z2Z8rdsYC6SZgeeaOI5WvhPfH6GSCXWxH8UcI6/BnMfK9IlnEwbuZw2bmo4DJ7WjCZghOuV9LtS3fTJk8rKADS0lsbNtjZK6rKz0zbRCQUC5fasdFPG/Esqj9ZH9szL4fiXo3EVCf7kTwp6Hhs4/5SwO430/Y+9WPxPTrtcjvXxTUzer4qvN2aA/lBKpz+lmAyCCDJxn5P5VHS9m X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR10MB4382.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(1800799024)(366016)(10070799003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: oF3dVoqoJ7pO6UgkS+IEffsAahrnugJSRrPmAt2d/Ed1TaCyyxtRq1XGZK6uATEmSGRcQ1EprBIuIyCgMWXkrLiKj3siVmF8rh90gfLefooaQ66IT2rUHieOfQRPJ0m8p9CDfM67DD3pJWmKLvxiPbO68nNK+qHu7xRyeo3HP7CMzjSsFBoBarvLmslMHRwFIDgH4JA7y2VN3MAGig7UGbVhgL2sSnrx9Ul9kUP0pyarnN5FAM0FmCygjJcNa9vvfGHTp9WQqv+g9nlV2+ViWj5T8+XoPXUY65um+PxWVGoJqDZh5z8gCOFGIFsea2VgP1lSH21VOUrQX5qvaactO/CbnnuXZzYbmtZmjOqiW+14piFHm/YR1W+0K1LFzmtij4IrlDnO+4vFrQ5/uhxH+MwQr714UL+p8r0PJlCbSl+DENTR7jMnLX727ss1AZgV86lY9UJijEyxMgI3DO2zR+bJ2IKDFesflMS27vPaH/gyiu0e50qwqbL/VmwOC5/wMNu1NZuo4AhJ/i3C4q+SZ/A5/4kigzyBpxchYDHkkBgTuqpfJN9fodVckLM68aaZQFuIH8rTMTm6ArxQ3ICa300ESJg7ugeLLkULS+e2BpWvRx+QOOw1uGG1cZKIgR4616lJqbESCNm/5bFSBErAehOW9YTqiruIY5u61nc7yNDdOzU+1xX/hWRe2ZTUAtJl6EFhHZbrOY8MwP9MwUtk/IACrFdgD6zbNcy5XjkAjnUGLxMIv2M1/nkgwQLLLt5/h4ErF9jDRO/vZbT6X2thdpp6qougeWE3tkwhMagvnyoipK93OA56zCLsnd8fDTtuMuJW8JPk166Fw7j9Evwjb+Q9yLENAO6vYehmBSVqfDAeclwqdBHXjBOZYa0DEA04pduzbAOc1iJI940WApWWB5slYWkXSQJRnjr/TVe/kSOUonvrZbBVNJYSTMMRM7Nk9zy+p+YQcD30K5YiHC9BMxX2xVq4ZdMtMpD8Q7fM3YdISzWRNXDeaXoK671zCrZ/m712HJB5CW08IuMKqKcQNS/9LMp/QbIgcnSizmpR93XgOiVb30TQzQcxAnuIqHADt8aW5IjNT206uXENG6SseHMecC29cIsG4W34pYeG3tOnNZS2G7jY1B1Z5a//DOg5B//eOK2YVxxLjZGo3evhMoMBw2dXpZ+XbSMQUF0UqTrr/jqxfzFFRAtA2t/JzNS2zeCVUbaqdzZbmxk+4h0JP4SBXpQQ5Pq4XdvDMuhRmpAiGW9uiRb+JY7z2/Im6bNMhnG4du7YWR3YqwbWZyvgiaUPy7zlZsf6JRCnsHVxvupPQ8pkM4nwoCx1O7GYJv9VwV1zUns1kbym4ZN1McFK8owxmWkeK51kEqsbIaz77thEcBfmXhf6GYc8ZK3DXx8A1wfYchoNVQhqgYdfs30dWvG3qU5gerfbAysAdHB82O5y0Rf/pjGXDyLOQeBzdRmnQGzNeCXovKghItr+57+4TLO3/1Lf+HGAzqTKdSTOt5UFHqT4V/CUYEbiUsiQhgmkiHasaVxOOgEz3zLdiv+E39ftuG+ofM/ERa25XedVzrU9XYvmpyVglcBBaeCiaeMXCmMiDLZ68h81T6P8FfZC2OCgnjk/D+RMnOqC2z47Na0= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 1AdLShDHTwwrZQ1mGGRD8m5lyF/5EU5K7iJvJNBxpJzg6nhsZByps49r/3EXAdZW3ICRqWCnZBmEPEnTZHQpUoG7S54Y8imIlb27P4luk9mZAOOHKJtM2xEq3glkoZ3QRqiuu1ZVQOpcrRazbOLrox8z25Gj1Br7rFhrm5bH2SddowBlwUqHF1VDqMKNHbn/UOAk/KJp0tpCuaR7WD5wtH7B+lAk81RE0wZVZybCRDjubaKXtesEDXqC+P6pmAKqzVt6n67lfiEUor6iMXMP/5o4NHdYbeJvlyZqOTLxZa38X8L/mhAKjqqOKjLF9+GS+XhJZnK44X1hWwqXCIRaNsvT3v4tx/F4IcHrT6Sx1jBJ4bLUDJfvPnXZENHfnhcksjkMX8r/QNKk/KnN2iF1lA9nmBJWgRp9hp5gjczNz4o4G97wQ26S0ru1u/p/jGFa9+xNhb9JRC1YYlDj4uzJnZnUpbBi1zz3RC6ERA/BQX0kkrPoROS1iJoi/Xglo/HgnALKkJgF2RKpR5CCZGBrKXy+oXvRNyJIRV+6AsPaa5Ov/mknKy77yU0zAqkSQ9+C00SK7qVp8+6aMZVImIYkmWH4lO+mxN2a9p5vIl3KMBI= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: a37821ca-b01d-45a9-d434-08dd2b61d7f1 X-MS-Exchange-CrossTenant-AuthSource: MN2PR10MB4382.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jan 2025 19:15:39.2886 (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: B3hAxLz8DrhbXgMFpIFUa4KeKicom8eFV6co8LS/L+KLROcMA/WMnggDhSzHlmCPKEObxsCPPYuGPtttQ3gMyA00i9YtyBWdV+Af3RiFbp4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR10MB7304 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-01-02_03,2025-01-02_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 bulkscore=0 mlxscore=0 suspectscore=0 phishscore=0 mlxlogscore=999 adultscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2411120000 definitions=main-2501020169 X-Proofpoint-ORIG-GUID: OEExwN0_X5hmrONAbo0JtCQhr-CdLJFl X-Proofpoint-GUID: OEExwN0_X5hmrONAbo0JtCQhr-CdLJFl X-Spam-Status: No, score=-13.1 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 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 This patch adds large tcache support tests by re-executing all of the malloc tests, using the tunables: glibc.malloc.tcache_max=1048576 glibc.mallc.tcache_max_large_capacity=4194304 Test names are prefixed with "largetcache". --- Rules | 19 +++++++++++++++++++ malloc/Makefile | 15 +++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/Rules b/Rules index c8adc00008..ee6e012d53 100644 --- a/Rules +++ b/Rules @@ -153,6 +153,7 @@ tests: $(addprefix $(objpfx),$(filter-out $(tests-unsupported), \ $(tests-malloc-check:%=%-malloc-check) \ $(tests-malloc-hugetlb1:%=%-malloc-hugetlb1) \ $(tests-malloc-hugetlb2:%=%-malloc-hugetlb2)) \ + $(tests-malloc-largetcache:%=%-malloc-largetcache)) \ $(test-srcs)) $(tests-special) \ $(tests-printers-programs) xtests: tests $(xtests-special) @@ -165,6 +166,7 @@ tests: $(tests:%=$(objpfx)%.out) $(tests-internal:%=$(objpfx)%.out) \ $(tests-malloc-check:%=$(objpfx)%-malloc-check.out) \ $(tests-malloc-hugetlb1:%=$(objpfx)%-malloc-hugetlb1.out) \ $(tests-malloc-hugetlb2:%=$(objpfx)%-malloc-hugetlb2.out) \ + $(tests-malloc-largetcache:%=$(objpfx)%-malloc-largetcache.out) \ $(tests-special) $(tests-printers-out) xtests: tests $(xtests:%=$(objpfx)%.out) $(xtests-special) endif # $(run-built-tests) != no @@ -179,6 +181,7 @@ tests-expected = $(tests) $(tests-internal) $(tests-printers) \ $(tests-container) $(tests-malloc-check:%=%-malloc-check) \ $(tests-malloc-hugetlb1:%=%-malloc-hugetlb1) \ $(tests-malloc-hugetlb2:%=%-malloc-hugetlb2) \ + $(tests-malloc-largetcache:%=%-malloc-largetcache) \ $(tests-mcheck:%=%-mcheck) xtests-expected = $(xtests) endif # $(run-built-tests) != no @@ -211,6 +214,7 @@ binaries-mcheck-tests = $(tests-mcheck:%=%-mcheck) binaries-malloc-check-tests = $(tests-malloc-check:%=%-malloc-check) binaries-malloc-hugetlb1-tests = $(tests-malloc-hugetlb1:%=%-malloc-hugetlb1) binaries-malloc-hugetlb2-tests = $(tests-malloc-hugetlb2:%=%-malloc-hugetlb2) +binaries-malloc-largetcache-tests = $(tests-malloc-largetcache:%=%-malloc-largetcache) else binaries-all-notests = binaries-all-tests = $(tests) $(tests-internal) $(xtests) $(test-srcs) @@ -224,6 +228,7 @@ binaries-mcheck-tests = binaries-malloc-check-tests = binaries-malloc-hugetlb1-tests = binaries-malloc-hugetlb2-tests = +binaries-malloc-largetcache-tests = endif binaries-pie = $(binaries-pie-tests) $(binaries-pie-notests) @@ -290,6 +295,14 @@ $(addprefix $(objpfx),$(binaries-malloc-hugetlb2-tests)): %-malloc-hugetlb2: %.o $(+link-tests) endif +ifneq "$(strip $(binaries-malloc-largetcache-tests))" "" +$(addprefix $(objpfx),$(binaries-malloc-largetcache-tests)): %-malloc-largetcache: %.o \ + $(link-extra-libs-tests) \ + $(sort $(filter $(common-objpfx)lib%,$(link-libc))) \ + $(addprefix $(csu-objpfx),start.o) $(+preinit) $(+postinit) + $(+link-tests) +endif + ifneq "$(strip $(binaries-pie-tests))" "" $(addprefix $(objpfx),$(binaries-pie-tests)): %: %.o \ $(link-extra-libs-tests) \ @@ -339,6 +352,12 @@ $(1)-malloc-hugetlb2-ENV += GLIBC_TUNABLES=glibc.malloc.hugetlb=2 endef $(foreach t,$(tests-malloc-hugetlb2),$(eval $(call malloc-hugetlb2-ENVS,$(t)))) +# All malloc-largetcache tests will be run with GLIBC_TUNABLE=glibc.malloc.tcache_max=1048576:glibc.mallc.tcache_max_large_capacity=4194304 +define malloc-largetcache-ENVS +$(1)-malloc-largetcache-ENV += GLIBC_TUNABLES=glibc.malloc.tcache_max=1048576:glibc.mallc.tcache_max_large_capacity=4194304 +endef +$(foreach t,$(tests-malloc-largetcache),$(eval $(call malloc-largetcache-ENVS,$(t)))) + # mcheck tests need the debug DSO to support -lmcheck. define mcheck-ENVS $(1)-mcheck-ENV = LD_PRELOAD=$(common-objpfx)/malloc/libc_malloc_debug.so diff --git a/malloc/Makefile b/malloc/Makefile index e2b2c1ae1b..a62252a489 100644 --- a/malloc/Makefile +++ b/malloc/Makefile @@ -147,6 +147,21 @@ tests-malloc-hugetlb1 = \ tests-malloc-hugetlb2 = \ $(filter-out $(tests-exclude-hugetlb2), $(tests)) +tests-exclude-largetcache = \ + tst-compathooks-off \ + tst-compathooks-on \ + tst-interpose-thread \ + tst-interpose-nothread \ + tst-interpose-static-nothread \ + tst-interpose-static-thread \ + tst-mallocstate \ + tst-malloc-backtrace \ + tst-malloc-usable \ + tst-malloc-usable-tunables + +tests-malloc-largetcache = \ + $(filter-out $(tests-exclude-largetcache), $(tests)) + # -lmcheck needs __malloc_initialize_hook, which was deprecated in 2.24. ifeq ($(have-GLIBC_2.23)$(build-shared),yesyes) # Tests that don't play well with mcheck. They are either bugs in mcheck or