From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazon11011001.outbound.protection.outlook.com [40.107.130.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3A5744266B1; Wed, 6 May 2026 12:03:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.130.1 ARC-Seal:i=3; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778068994; cv=fail; b=JxP0AuFN1Ji4u1xZYnH6LRrCbwPmtgNWPiFz0zXjZjlIKxg5e6wlRRjBQhrww+R+aS6bQQ1/bJ+rOJMlBGNFO4ffBPqZUCWgG1kQby24QIbmiKWN+ZI6GyfKDkT25mr4srxhsN3sxEnfxpd0BxYDLTGGomsb2FWlW6JxWIHXhas= ARC-Message-Signature:i=3; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778068994; c=relaxed/simple; bh=UzbHhY81Yj8h2AJKbJc3aZ1H/ZU/8hZwVeSxBn46pVc=; h=Message-ID:Date:Subject:To:Cc:References:From:In-Reply-To: Content-Type:MIME-Version; b=m0Xl3YYfxP23NS8Wwhr1bx+lhtL0cQ0D4qPM+QDnt/MmngsbmyaAzbXdbXhdGEskAadWVRcwAb3UAtHg7hDuETg0z7S3rShL0UM/FqM+EtfsbYMXWhBOQRWyngD7uuuGI/9Ad3MsJLtbhBwBMMWtXAbQZ3bcLtcvlcMCw1fG3yI= ARC-Authentication-Results:i=3; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com; spf=pass smtp.mailfrom=arm.com; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b=EXmSl8+6; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b=EXmSl8+6; arc=fail smtp.client-ip=40.107.130.1 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b="EXmSl8+6"; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b="EXmSl8+6" ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=aFuJvKUz+YnlyGtbtctbpgoLPVC2lMXW3ShI7XugThs47fNeCGbuqjINTER6C8RNs+tSGx7aovZNxAI2JNvne3P+KeN/QzJ1B4Mwhyx7T8zcH5ybLOH+5RJ5eyUbgnxDCOpVpUy3huSd2WgQ/8Mtd3UQCKMyHWVEN48gv4T1uh+GJiEtaEA03Q0X69+fdNJCACawlSNj6FH4zFtatMjorhS9QtLE+fHqEkZdSjiIQ5JRjW1jtUZbYpoeYpq0HXhE+YLARCSMOQ3ftFwOutLIvNk64w5KXiToc/hftvC23wlYICMg+nQy4vtVGLcLIyQhnzCaugL9xC0LlFJtwYeKqg== 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=aOhOv+ITnB4cy9o9sbBtR2oSoufonjGpvfUDzPHu0Go=; b=SEQiQhboE9mHHq5R7/D7unvAwxabdDg8VTN/KyqNQ5GGYOIFsAKBzx3pqUMcsL7CLXimbHtKmJxBrHiL6qU792PlAMnhcMAQFyEumZJ9NQS5iNN3eU4OlEo1iXe68/NbwafZwoO5wytnd6KcUliehwTgdpzkmuxWO3WwGPRJ4axKZEPiNhTBJwFaI8OY5Czhs6OxAo3E7TY/k4cHNE6rWvYfmYtDu05ZQBorOzyeN10ui+I3gAEU0slhGkmW1JdnGsdDljgmUWKjll5fNOnTVl3NTkfdG+ROMm1YTNFVoxVJF/ly8nP2YZsJmpeK4+vdP1jXMYuh+4t20J80IzQ7Bw== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 4.158.2.129) smtp.rcpttodomain=kernel.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=aOhOv+ITnB4cy9o9sbBtR2oSoufonjGpvfUDzPHu0Go=; b=EXmSl8+6loUF/ipbLKgzpAL6o0JH9L2L9qLvdHGTm4433NpPFYh2Faph+uAxH1vPSE8KKUWTYX42G8XnIYZVkX2GHWtiYjoTstKLi/Efbz+qK++kTTheSZcWfbp1zGco2JfmOb3tWTxqdX4DIhFHXLJjq55hT7MI/Wuk0srcFQs= Received: from DUZPR01CA0340.eurprd01.prod.exchangelabs.com (2603:10a6:10:4b8::13) by AM7PR08MB5382.eurprd08.prod.outlook.com (2603:10a6:20b:108::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.25; Wed, 6 May 2026 12:03:04 +0000 Received: from DU6PEPF00009524.eurprd02.prod.outlook.com (2603:10a6:10:4b8:cafe::41) by DUZPR01CA0340.outlook.office365.com (2603:10a6:10:4b8::13) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9891.15 via Frontend Transport; Wed, 6 May 2026 12:03:04 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 4.158.2.129) 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 4.158.2.129 as permitted sender) receiver=protection.outlook.com; client-ip=4.158.2.129; helo=outbound-uk1.az.dlp.m.darktrace.com; pr=C Received: from outbound-uk1.az.dlp.m.darktrace.com (4.158.2.129) by DU6PEPF00009524.mail.protection.outlook.com (10.167.8.5) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9891.9 via Frontend Transport; Wed, 6 May 2026 12:03:04 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=CGqtavTe75l5wfLULGDQ+lA5S6miKTK0RLCc7vSTBIeOvvlsDUYcv5OMYOSsll57po6AJEesojUAsXO3RUnaXzKlOStIjKNX/Dw6h4eWvQ5WT0dcECR4gGKN0c5y3gNoNfgt3jsfkFRcvXMD/R0HynT59JnkLxdY1NeQ0pqrGUl1sGUghpS9ngcKh8U9OUqDlJowkiso4nSFilBgCMF50nqT5e5K1F+egfsFX21b2DiKu16Il4XJN9unyjYSG+Ppq43aPVsiDKCQBLTVY75GmKVN/XXzgHejzqmk7dBEdDb1/qTLZZ5YDmuoWe4lPFA5OXmhkBntM9Weu3xIro9/2Q== 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=aOhOv+ITnB4cy9o9sbBtR2oSoufonjGpvfUDzPHu0Go=; b=gbDBLyEw1p1v8APTBncKMYkmnkTo+b9ojsT1whW5ehwb1smPkMEfXFhL8ztL7DFqw3NnzigTkDXNh3MVGjEFcU0m2bG7yoQ07xiRCUJOalcD81X9Oxkun4rYYjMketYelDriogxg3bSmmAUg740p1YC3cmBa3c0+aE0gxqPfAi0vvTWhKDsOjbI2FxklcqKYGY4a7PKG04ir7o8ZLNn0ZChA5lqlJsN8WvQ9kOg4z4+Xaq8vOEoP45gBRYT0SbhUNpfMtUjka6+OXIr1Dq7Hpq+bDe8XLa0K44frskJL8O+64cGCuObXz+AWsbSgvK39VOJWLP8hUDFi6ylaSe1NTQ== 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=aOhOv+ITnB4cy9o9sbBtR2oSoufonjGpvfUDzPHu0Go=; b=EXmSl8+6loUF/ipbLKgzpAL6o0JH9L2L9qLvdHGTm4433NpPFYh2Faph+uAxH1vPSE8KKUWTYX42G8XnIYZVkX2GHWtiYjoTstKLi/Efbz+qK++kTTheSZcWfbp1zGco2JfmOb3tWTxqdX4DIhFHXLJjq55hT7MI/Wuk0srcFQs= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from DU0PR08MB9203.eurprd08.prod.outlook.com (2603:10a6:10:417::12) by AS8PR08MB9696.eurprd08.prod.outlook.com (2603:10a6:20b:614::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9891.15; Wed, 6 May 2026 12:02:01 +0000 Received: from DU0PR08MB9203.eurprd08.prod.outlook.com ([fe80::f1e:73f2:57df:4047]) by DU0PR08MB9203.eurprd08.prod.outlook.com ([fe80::f1e:73f2:57df:4047%2]) with mapi id 15.20.9891.008; Wed, 6 May 2026 12:02:01 +0000 Message-ID: Date: Wed, 6 May 2026 17:31:53 +0530 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3 29/54] selftests/mm: vm_util: add helpers to set and restore shm limits To: Mike Rapoport , Andrew Morton , David Hildenbrand Cc: Baolin Wang , Barry Song , Dev Jain , Donet Tom , Jason Gunthorpe , John Hubbard , "Liam R. Howlett" , Lance Yang , Leon Romanovsky , Lorenzo Stoakes , Luiz Capitulino , Mark Brown , Michal Hocko , Nico Pache , Peter Xu , Ryan Roberts , Shuah Khan , Suren Baghdasaryan , Vlastimil Babka , Zi Yan , linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mm@kvack.org References: <20260428204240.1924129-1-rppt@kernel.org> <20260428204240.1924129-30-rppt@kernel.org> From: Sarthak Sharma Content-Language: en-US In-Reply-To: <20260428204240.1924129-30-rppt@kernel.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: MA5PR01CA0058.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:1b8::12) To DU0PR08MB9203.eurprd08.prod.outlook.com (2603:10a6:10:417::12) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: DU0PR08MB9203:EE_|AS8PR08MB9696:EE_|DU6PEPF00009524:EE_|AM7PR08MB5382:EE_ X-MS-Office365-Filtering-Correlation-Id: 7a9c7e9d-d7c6-4186-b9c5-08deab676d90 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0;ARA:13230040|366016|376014|1800799024|7416014|17002099007|18002099003|22082099003|56012099003; X-Microsoft-Antispam-Message-Info-Original: rs8sN3pvNI4SNLutTU6jnIIqznE7k3ANElmAx6Sx1bpBCMseN5nQE1u7/xJRuZlNrV38sKQl/xIiTWFChK/eAFehf/pr9sS6FToejV1LVjY2n8S3zXbR+KDE813J49wEAhC0tvpVxmfE0g1ck34LWNGtZIHBumGllI00RgnhsaPdd4ZXGqOCkF59/kgfBIRcFLkieJchw2kFdhTcFhzbgihT9Jhj9Rjq0LvwSyumlcE32gtyCDzy3rZucc5ER4S35owc8X+FOiqpR5Jc2DMWcaSuU+YJfZXaIml2S42yAXgPpF1KCS5ZPPEUrmHTvTFxWWIHcQQUKeEcdS403uithUNMNExc+Ykmzm3DPv8H63UTEjef8MmO6gMC5yoSMdu6rj28w2wYY57Aj4yJu0QJHNVOJvj+8p6Kx3VB1wM6Rtmm8pd5/XhgNy3GiTr3InI3Tuw/FQTDmz87AK+7BuHf5Z/DDxvPhiNQbDaeGZ44WqjdfZknWwE611q8lkEwTUrazEmLX/ZUNBasIs0zrpfiqq3hoNmgjOCuvl8BeBvgDkUFvUwDYet5LRycU5WYA3eQhxVt/s5ZCb4/knPApjnP6DePEhyFlxmNz/fvO4qMMvu55kMpHN6JliTxebHCVBoGCyuAbQWeDifB9Jf68r++33m+617wRhcigbDZLDI1xffgcu90eZlqxxE9NT58ms4E X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU0PR08MB9203.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(7416014)(17002099007)(18002099003)(22082099003)(56012099003);DIR:OUT;SFP:1101; X-Exchange-RoutingPolicyChecked: cDvJUFil4Ul49UKrKtfAc5bBea9F61NJNjOa631hCVrUwSmwe/5pc6zU5BMXdVetO2aczC9vW9cN6rYndT6f/so8k0C0YROK3B+aPIgf6GJRknGlTv8YRtU63GuGmnrInVEL2GJFZWG5ovWsr7dBDZIt3lbAEISG8Iuy7wkRrKiiVx+muKlAJXq7L7jv8XdX3jowCNGPsXchKlVw1Mjoy7UXMeNrYWszKSbxp4zW56Qg7mWRvHhOBemb5jxmj6AyAOTnwiRzlShuNskbzg0mFO8Y4kiKrYIV965RnNprC1yFGJ0dW2U8Yu/DHQvkkDkGC8VGaO3J7td1smtstn/fnQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9696 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DU6PEPF00009524.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 2d94abad-1fb6-4fef-09e6-08deab674801 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|82310400026|35042699022|36860700016|14060799003|7416014|376014|22082099003|17002099007|18002099003|56012099003; X-Microsoft-Antispam-Message-Info: KiW0KAl1fO+YkV8qqeSMH/R0bjs1XEeO+3zGu3/mLibNHGaSPKkEsbWS2cQvR4IbCOoR8tmPMUhrZA0ODGlT6nBthjT7WwPYWCaLkSJLEu5Opfe9KpUOOmSaONFn0lQ7r5Vbn2nN9Z6NAbecAwOrF6o9AajMQQtL/er8MZXv+t5r+KgzVq6wNTT41x1v2JUUFPudgsXxu1F/IqJu5MA3XjscLfgEQDx2F4K8+OaEWdJvNivR9/irFg44KOoLV8sebNPOfLr6ZVzpXl8amEYgs5yrn33icHQqMtHcyvmaOe6CKRnVZm0A8508vqUhn5dNVeoQBgs0c/p2c3zgWJJawrAeqOtUbdymTwTBE5oe9M3XRaZSzz28AFvOOBCLNTHkvhOS0qVzZzfMZ/6RCC38my4r6m5yzFyWfDCGqf1dZbTuydO88z0O69fntPuUrT2JSUMfyi+Acl2zm4H0uJEtN2u06WlQmZHhjGc9k2nmhxTxM/dnJmHs7YE9sMyK5KRsuUH6lRi/x9s7ATtIO/g5+GTTd6UeCePOPdzKfKZ7if5a/9OB5rcd5ooIIh/OpoA8laFm42IjlPUC//1G65xa4DPHfLeYFyVNLMefEu8z90SGq71uHC8zNhhMKL4akYaTxG+t7CpeuEZXNfG/pVltwIK6qa4iP4lPuKLL8sjDxRJ3hBs/UKL2B1SrMs/lLC+owj6Mlos4+IeL1GPGaQRWrF/fNvRjwyaGEGSYK3mYTOc= X-Forefront-Antispam-Report: CIP:4.158.2.129;CTRY:GB;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:outbound-uk1.az.dlp.m.darktrace.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(35042699022)(36860700016)(14060799003)(7416014)(376014)(22082099003)(17002099007)(18002099003)(56012099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 5NHNPZ86UCmaI+QqipUc4KPpnjSkoGD4BRaIFTwO7GNSkactCCrmNKITgpOY5pFWEiHBD2KLkXc6KJ4IsR5QqmyTx56UCft6DHPXDAriSkbawi5gyQ3OC0/571e3ekDk5RBHXMPsPZYF3MU3qYF7GHiL86QxqevD5EGQ4TFnBgYvrR31X1SjugEgxpRB7R+T/xeCIMmCEdLq76XJPKKHj2lermrKUwBQaEW3g2K3RzezSOqv3wViASKg+9Mw9bPd0MdKUBSh3droJadrV9DtuuW5GDjs56HMseWAYruiXQCDnJgCs/2/8fihg2ziwz/3y3niiAibCCdZElBLYaWbac4VT2DnLm3D76dtPeipDfUqqrFTGvkzZ+JC7nahHYd8CwenfHo/F17H7lB3z6+N/h0rIOEzNXS4LhPFpeostK08UhbjaJlPdoamjPdat03J X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 May 2026 12:03:04.0321 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7a9c7e9d-d7c6-4186-b9c5-08deab676d90 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[4.158.2.129];Helo=[outbound-uk1.az.dlp.m.darktrace.com] X-MS-Exchange-CrossTenant-AuthSource: DU6PEPF00009524.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR08MB5382 On 4/29/26 2:12 AM, Mike Rapoport wrote: > From: "Mike Rapoport (Microsoft)" > > hugetlb-shm and thuge-gen tests require that limits defined by > /proc/sys/kernel/{shmmax,shmall} should be higher than certain values. > > Add helpers that allow setting these limits and restoring their settings on > a test exit. > > They will be used later in hugetlb-shm and thuge-gen. > > Signed-off-by: Mike Rapoport (Microsoft) Looks good to me. Reviewed-by: Sarthak Sharma > --- > tools/testing/selftests/mm/vm_util.c | 28 ++++++++++++++++++++++++++++ > tools/testing/selftests/mm/vm_util.h | 9 +++++++++ > 2 files changed, 37 insertions(+) > > diff --git a/tools/testing/selftests/mm/vm_util.c b/tools/testing/selftests/mm/vm_util.c > index 752566f75c0b..5a89c2d903be 100644 > --- a/tools/testing/selftests/mm/vm_util.c > +++ b/tools/testing/selftests/mm/vm_util.c > @@ -761,3 +761,31 @@ void write_num(const char *path, unsigned long num) > sprintf(buf, "%lu", num); > write_file(path, buf, strlen(buf) + 1); > } > + > +static unsigned long shmall, shmmax; > + > +void __shm_limits_restore(void) > +{ > + if (shmmax) > + write_num("/proc/sys/kernel/shmmax", shmmax); > + if (shmall) > + write_num("/proc/sys/kernel/shmall", shmall); > +} > + > +void shm_limits_prepare(unsigned long length) > +{ > + unsigned long nr = length / psize(); > + unsigned long val; > + > + val = read_num("/proc/sys/kernel/shmmax"); > + if (val < length) { > + write_num("/proc/sys/kernel/shmmax", length); > + shmmax = val; > + } > + > + val = read_num("/proc/sys/kernel/shmall"); > + if (val < nr) { > + write_num("/proc/sys/kernel/shmall", nr); > + shmall = val; > + } > +} > diff --git a/tools/testing/selftests/mm/vm_util.h b/tools/testing/selftests/mm/vm_util.h > index 5fc9707f6b9a..ea8fc8fdf0eb 100644 > --- a/tools/testing/selftests/mm/vm_util.h > +++ b/tools/testing/selftests/mm/vm_util.h > @@ -168,3 +168,12 @@ void write_file(const char *path, const char *buf, size_t buflen); > int read_file(const char *path, char *buf, size_t buflen); > unsigned long read_num(const char *path); > void write_num(const char *path, unsigned long num); > + > +void shm_limits_prepare(unsigned long length); > +void __shm_limits_restore(void); > + > +#define SHM_LIMITS_RESTORE() \ > +static void __attribute__((destructor)) shm_limits_restore(void) \ > +{ \ > + __shm_limits_restore(); \ > +}