From patchwork Mon Nov 1 21:48:47 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Patrick McGehearty X-Patchwork-Id: 1549352 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=DR69DajZ; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4Hjmrt23hCz9sRN for ; Tue, 2 Nov 2021 08:49:18 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B4DBC3858023 for ; Mon, 1 Nov 2021 21:49:15 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B4DBC3858023 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1635803355; bh=IbRWJ8sHiDLN8QkylyOCoJc8jKAiPf0yvRvfCaGxsmA=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=DR69DajZ1UjSewcsT6rBLfQ9hZrii5tL6sblncRqpizJXsKXMkcgtbAFuIu2ZkvRi TXWmZdYctXSWNRzOQ7VjRyHtZlWJizmL0dWWnkmZqHZUZgJsvuyKUZRphqgDug5ynz Jjv5T8KgtdPpQawwrPQWolkT0nll6QYfPLapGom4= 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 7B5DC3858429 for ; Mon, 1 Nov 2021 21:48:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 7B5DC3858429 Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 1A1KaUIU018757 for ; Mon, 1 Nov 2021 21:48:58 GMT Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by mx0b-00069f02.pphosted.com with ESMTP id 3c2aa3c1ms-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 01 Nov 2021 21:48:57 +0000 Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.1.2/8.16.1.2) with SMTP id 1A1LkEx9049467 for ; Mon, 1 Nov 2021 21:48:56 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2173.outbound.protection.outlook.com [104.47.59.173]) by userp3020.oracle.com with ESMTP id 3c1khsjk42-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 01 Nov 2021 21:48:56 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=c0VQsqGa35N8DwgCC8WhbsL32g6QvE9BBjqgg/83XVTZlDxApv2kPie5dnYM/kseRXhR9SfGimYEbhlMjeUBSwW9RYUZkQ3HwdhBAVb861pXu6Akknp8UkDgR3CtrAigMpjydsKj9nt7m8J635SoGiAdRSL3SH8Lzm2O7EECglAaLWslvlpZTsCh8DgaWWYLKfz5nRTXerMgUuwB7TFtS21Urq4Y1eQw1LTRNzWnEcPYB71LZHSYiTw0gtSNLCfi1SXxJQXbtVSk6FZCli1+oD+EbISmGwFcreAuTy7ZVoQrGYmTUJuwTpIOaWeZ7T8cL94iFYHpMvykXs+GahqQCA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=IbRWJ8sHiDLN8QkylyOCoJc8jKAiPf0yvRvfCaGxsmA=; b=Vf1BljkRc9ncFlSjeGL8HfNbkFjAwll0KOjDQ5KALcHLujS0bvi3mLtGTCo1DlSbQ7YIlDWUMmYRjxTr0wwpDSyJVC+FWr4Ryhvd1WBj+HaeAPEiKimVAqDgpRD4IKGS2Q5d0l2I3d0IZ0mfCGIwb8f1egEy387wGmLreuoXXRf4bDuHT5bQqbAMSnjn9a6yBfogEB47qSAxYvslUcbOH7vavxnrgLMEv0gMewQL6cA6bxNL5PiLQ957HIGA7aI2j2xdeWV50wIcm9O3EmghPZJ/mIgQWH2jU3c56IUU4Y0kaNGBnuNieNqH2wcPT2v+KwGBDyDAxIKjcUnj5jtluQ== 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 Received: from BYAPR10MB3208.namprd10.prod.outlook.com (2603:10b6:a03:159::10) by SJ0PR10MB5582.namprd10.prod.outlook.com (2603:10b6:a03:3db::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4649.15; Mon, 1 Nov 2021 21:48:54 +0000 Received: from BYAPR10MB3208.namprd10.prod.outlook.com ([fe80::cdd5:fa7c:b36d:dfd2]) by BYAPR10MB3208.namprd10.prod.outlook.com ([fe80::cdd5:fa7c:b36d:dfd2%2]) with mapi id 15.20.4649.019; Mon, 1 Nov 2021 21:48:54 +0000 To: libc-alpha@sourceware.org Subject: [PATCH v2] Remove upper limit on tunable MALLOC_MMAP_THRESHOLD Date: Mon, 1 Nov 2021 21:48:47 +0000 Message-Id: <1635803327-25346-1-git-send-email-patrick.mcgehearty@oracle.com> X-Mailer: git-send-email 1.8.3.1 X-ClientProxiedBy: BYAPR05CA0093.namprd05.prod.outlook.com (2603:10b6:a03:e0::34) To BYAPR10MB3208.namprd10.prod.outlook.com (2603:10b6:a03:159::10) MIME-Version: 1.0 Received: from localhost.us.oracle.com (148.87.23.9) by BYAPR05CA0093.namprd05.prod.outlook.com (2603:10b6:a03:e0::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.4 via Frontend Transport; Mon, 1 Nov 2021 21:48:54 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3db46ea9-9807-402c-37d1-08d99d816678 X-MS-TrafficTypeDiagnostic: SJ0PR10MB5582: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 8ScArWEJUWfIicAJk2CFOiw1buUtWRq6neI0S5GhsoI17+VtEnMPDkdUaoIywrb7eciTuCS6j7bNw3JXsEJBgUbqoUv3x7U1uWj5qSl5TC26P3H2/WnxF7w+Nw3SdjHUDUO/Fj2SGhviLxVmpjX1lZS2wxN3lxe1IVXLBQ5EOa5MAHsrjxm+14dLIrFB+0JzbMKSSpoY75MbmxHythycNPznsxLORUxYYWgTHSkaYsjFqKG1ky4vwFUoZcJkNPvl5HNvbrh03TLk1TjZPUmO5J3Yd8JVn/aJ2RMotF9f+8r9yVF3DZ0Z+pH0w5WvBanfVkGtpz1kJx9GFydT6+l+pD895uV3QqGLDgc0fsAbVs8Hc7XZBQelLWJ25iJQ0yofGwCJTjR4NFn8v2RDVzGlmTT9PQv7O0UPkvS0Vlu+m00Z0sb6WXDNJFDFSq9LU14i9JeYrfgTeSPGbN9OUiR3sHG0QWDxbigGx15YUXPjGxcoYzf7/n5HocYJit0iZfzScgeKSJhKRRAaGhLrXII0CayM4xs8hKo3Po4IfzdACCeGFcBUMpgQe8kM3TJZ9ezedyYbUY1T8Kp/WXgkSI7FnJwE5HRrdBrxI8m+IIzFg5qUyTfVJ29JXQyXGbSmaUtyfOl4gc6OLVAqWQ4wXC/+YmiNhqGi47Cpdnp56wMKAUluBY96tsoSfUqVUJOS+wE3XFwXKXSGbsSoURm99z1NQA== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR10MB3208.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(2616005)(66476007)(956004)(66556008)(66946007)(86362001)(5660300002)(7696005)(2906002)(8676002)(508600001)(52116002)(6916009)(38350700002)(83380400001)(38100700002)(6666004)(316002)(186003)(26005)(6486002)(36756003)(8936002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: lZnrYANdXY4eBemI9nHDfQr22228oJWP6FoVlTM+9j3Qg6XZRI7mneEi4GRDm3K4CKuHxarOOg8OX0n5vusTBk4eOJqtOxH4xJwqvvX+iBO8qWo8KVc80ZIKAoskQ5ThL9CNapktBYj5NY6NU+bMlj9FgnwwS5PVD54gOXcrWDwWojqc+Zkc0yEvcKVYHTEES9pUgiS48ng04yrUy5BBDCmF2JJgiiRYGvDUocmwnZPMG6JlOykbzXonj/OGBGgNG0x2Hf4LaTeWvHmwIoQVGAqyPMw3kypQhpRAC6E2pZ1oXnykwQhSPH42QV14NmzmX1SW0hO+i7RTHjEk+29G8eSsWmDme3c+cXqdoPwpKiCUSU11pu07uUidwVxI6x8F3ghe82Fv2nfnf43S0OYG+Nu2n5hTcr9C1hgDd+oRaScCIjv8HMBGD3v746d7jzSILzRgXYg1VJlGBfOTQejCVNiWE9U2lVoimQA7pfJ6Uhw4mePSasuSJ8XoX9Rt1C0SCY4bZiqpVPAZBD62f0TR1MDG1vHwpbKpcJusn7MYgVyE///i4ACc1tXyzJtz5Z2OT2JiinNLtRl9y+BygHcB7j5AyqPgWNxpscgkyLnwJQ5TQ08c5V3f6CXeSYJgWJwkK1QZ+x2PYrQEbRZa7RqdxkcWJdkK1/U8Xg/k4/RJRP1gdkDPN0vpojGqjU7N1/GBmvljo19I6plEj7Tv3L+mGg2m0boSWfbjiiUyUL84UT1/O+0IinL6oN966RsKBKfuzW8det09HB8799UFIQ9WIN/mYTz3+Mq0wiSlguVfKb0VnM3odpyf9u/cWFmdV9WxZboJLdQAzM+NZM/hAiXfUMRFi0AiNJqUqrUjNFDB9JtTQh6f5U52UwQkApMj/kn9h+jEjSU3a/qcmb8mRImv0+LssM0BhyCWKxwfKrWkwoUxR1L6QhjqqBi96ll7abWtrC9IpZYGbNrqfUkKHyu87ofl7N7j11wNAPc0STTSYz0puMzfcKOm60vFh8uPwtoIm3StWkONWCA8fkqa3563NVdBYdWUADNelLtIMunfrnzKkllzojOGaaeYjybm0yyAFZvRK+4dcobAYW6JDbUg0IzFMmsxH6MQwpZcEG0dQjPKvtiwf5GdYzK12mgSXZIC4D7weOKyALoEIGu5OhPtHP0Yj3rO3bB38+pCjLCOQfvy/pzAP2s4NGcrXxZd4gl+C0GFDy+T8Lg3PIURJlcP4/sutouk2Lo+gAZPQSA3R4PuI9ed4HojmET44F1mUK2UDDiayNVan9ML3EH5WHFkoggzUNv8TUpNG19ZoAUrpCIZ+JOlpS6UwqHDiArrMqlQdkUh+umw9l4TeKW+n2rDEAdyXPcMYaG6CzsYTMTKhtqMupGEXhxlQPwmCdYlfIqivp5x+4QySU9o4brBHCrnm5HZf1Ij9pveRc9ixWt5XgjyNNi8QjhTZUE3xRTmbGc0ZIsElUnXY3vltV9h8gs06IyVVh5zEm9pK5e3bjCmtDSpitTFYi2VKoUdl57GIH0xo7qtpyGnn3x8ExluDGosEiuNwZ5gZsroLHh91la1zwzxTY6hFpagLwCQR2IsW5AzZ7PJxeFtFv9omrYLUgl03v6939/CbTp05N0wELqH4Ll3PNZqOrZ9smnxP0sT08pYYe/W170GFAp3Lvfx7AEaVQ== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3db46ea9-9807-402c-37d1-08d99d816678 X-MS-Exchange-CrossTenant-AuthSource: BYAPR10MB3208.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Nov 2021 21:48:54.6301 (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: KpFWXBElFbb7cFZxd23OTkadxDsKg4fGo3uMVXfHGuR3AEU4+Ffhuzj4QAQV8iJ8lw3SptVR2QHETDLnXMukS+fe5GyVreA447G/dyMCbEU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB5582 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10155 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 adultscore=0 suspectscore=0 mlxlogscore=999 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2110150000 definitions=main-2111010113 X-Proofpoint-GUID: EbLLk7EvkIrzcJ_99Oi5DBwi1S414Ipu X-Proofpoint-ORIG-GUID: EbLLk7EvkIrzcJ_99Oi5DBwi1S414Ipu X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, MSGID_FROM_MTA_HEADER, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Patrick McGehearty via Libc-alpha From: Patrick McGehearty Reply-To: Patrick McGehearty Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" Differences in Version 2: Version 1 of this patch was made on glibc 2.28 malloc/malloc.c. My mistake. This version is made against today's (Nov 1, 2021) upstream version of glibc, malloc/malloc.c. The current limit on MALLOC_MMAP_THRESHOLD is either 1 Mbyte (for 32-bit apps) or 32 Mbytes (for 64-bit apps). This value was set by a patch dated 2006 (15 years ago). Attempts to set the threshold higher are currently ignored. The default behavior is appropriate for many highly parallel applications where many processes or threads are sharing RAM. In other situations where the number of active processes or threads closely matches the number of cores, a much higher limit may be desired by the application designer. By today's standards on personal computers and small servers, 2 Gbytes of RAM per core is commonly available. On larger systems 4 Gbytes or more of RAM is sometimes available. Instead of raising the limit to match current needs, this patch proposes to remove the limit of the tunable, leaving the decision up to the user of a tunable to judge the best value for their needs. This patch does not change any of the defaults for malloc tunables, retaining the current behavior of the dynamic malloc mmap threshold. malloc/ malloc.c changed do_set_mmap_threshold to remove test for HEAP_MAX_SIZE. --- malloc/malloc.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/malloc/malloc.c b/malloc/malloc.c index 095d97a..c1c4ef6 100644 --- a/malloc/malloc.c +++ b/malloc/malloc.c @@ -5216,16 +5216,11 @@ do_set_top_pad (size_t value) static __always_inline int do_set_mmap_threshold (size_t value) { - /* Forbid setting the threshold too high. */ - if (value <= HEAP_MAX_SIZE / 2) - { - LIBC_PROBE (memory_mallopt_mmap_threshold, 3, value, mp_.mmap_threshold, - mp_.no_dyn_threshold); - mp_.mmap_threshold = value; - mp_.no_dyn_threshold = 1; - return 1; - } - return 0; + LIBC_PROBE (memory_mallopt_mmap_threshold, 3, value, mp_.mmap_threshold, + mp_.no_dyn_threshold); + mp_.mmap_threshold = value; + mp_.no_dyn_threshold = 1; + return 1; } static __always_inline int