From patchwork Thu Nov 23 13:30:32 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gang Li X-Patchwork-Id: 13466228 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 92954C5AD4C for ; Thu, 23 Nov 2023 13:31:09 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id ECE028D0023; Thu, 23 Nov 2023 08:31:08 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id E7E248D0002; Thu, 23 Nov 2023 08:31:08 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D6CAB8D0023; Thu, 23 Nov 2023 08:31:08 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id C75D48D0002 for ; Thu, 23 Nov 2023 08:31:08 -0500 (EST) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 9A94E1CBC5D for ; Thu, 23 Nov 2023 13:31:08 +0000 (UTC) X-FDA: 81489305016.30.2AB242B Received: from out-172.mta0.migadu.com (out-172.mta0.migadu.com [91.218.175.172]) by imf27.hostedemail.com (Postfix) with ESMTP id A7F4640005 for ; Thu, 23 Nov 2023 13:31:05 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=GXVeyiK0; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf27.hostedemail.com: domain of gang.li@linux.dev designates 91.218.175.172 as permitted sender) smtp.mailfrom=gang.li@linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1700746266; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=HH76KM7ghHpttjrPF4dCFO56nBTHd4OZxFz/BIMAGKc=; b=Sk3JuO780k5/dSwQmNxDYWpqjFmLHEel/ww71UCmhSMBZzzcCdpd/KvKLdI5IRR/jWoZWc fG0JuUyuwI1nqMpnPEFkNPBPU7Ya4NMFkeJLXQLuwknnllgpoh8yaQ5VUk5Na2/ttI4bgR 9A1fEfLEvwSPEOY3xkLjbU9vMovuyt8= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=GXVeyiK0; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf27.hostedemail.com: domain of gang.li@linux.dev designates 91.218.175.172 as permitted sender) smtp.mailfrom=gang.li@linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1700746266; a=rsa-sha256; cv=none; b=Z+JWjYUHJ10vOkSPKPSAGEzKhDDgUfh+hV7SuTqevsdSiwb2fOP+/TovEinav3/F/ard4X AI6VVdchmmjw7x3OwWcSIFRuUUOFl1wilM5TGNXbzyCp7YMuzUAq4eTd2G2ojmAha1rTBz DCplImsKD1rVkqQJdEnC6QZ9Nwh8BVE= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1700746263; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=HH76KM7ghHpttjrPF4dCFO56nBTHd4OZxFz/BIMAGKc=; b=GXVeyiK0rc7R4kF855jfXTv6slAM+iTN7yba/bhzrB51BelY7dLn+GMzVGY28gMMRACwqW wx6ZQf9hQFHsYu+ne6n85pObPvr8dJEkSruX6BUAdh8HNjSUAZECLbVBi3B9wZ2kh+GXGL 8UNAScpbb/anNZvItz/59uFMT0Fsij4= From: Gang Li To: Mike Kravetz , Muchun Song , Andrew Morton Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Gang Li Subject: [RFC PATCH v1 0/4] hugetlb: parallelize hugetlb page allocation on boot Date: Thu, 23 Nov 2023 21:30:32 +0800 Message-Id: <20231123133036.68540-1-gang.li@linux.dev> MIME-Version: 1.0 X-Migadu-Flow: FLOW_OUT X-Rspamd-Queue-Id: A7F4640005 X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: eeachzp44bkbwj85kdbghd55n9w9womj X-HE-Tag: 1700746265-993221 X-HE-Meta: U2FsdGVkX1+dkjsighx/iJuenbjvBx+WbSMEbGk9C/VDLUjOlOKa2ggAYJ2Dw9EIF771n6EMW+tsrQV/1OO7weIAYewruezbUPI25ksuzUYg3Q/UmYCK9QjoplxF/9f9lXao+xhqOS/05F4TfwTSl/TYzLppU6qmBzpILRbBVY/3hhTqHaUb/fdu/4+2DdQGZBu9djrnu/Si8/rNZQSgzRMrkuqUBHGXGyZfqSqLv7QxV+xpsCYWFP4vgBRLk0qkp7RnP+KWPw/PSxcEjd+7d44o24hznr8yK3oomlaPx5/yxupyXN5BFy7h+c80AR5kvQkEf7/6OQ+EcVW4KdCTvg8eJSfA3xjSizqO+jvD8tYt25wSAxFMHX22ah3XVHd/8F3XzWuGwTyFjBe63wKz0zLfSvpoBSk6u79A7a3V1wS33r4OEK9Wx+eDc/1cD9xoh7entVbdnJQPMtz52O76QWlSmafrjLlh2tWeC3oN/6dE3aZ04b0c2tnyVUdFwV8PGiATcc/lD38TL54CONnkWBzfP0bSdrotaseGi5XIAc7AmLGoAtCd4N2VVoMdeofN3nWDtiDja2lTJYTO5i8P0LJ7s7CfSD3u62QYLHI1tL3FmExkhkKnB/sYP7FZYJTaaklQu0dy5LQ/4Dp9P72P60bc7BzbJ298jFxVofc2WC1b7L/w6lnZVVtWCD8fqh7kkVtZLm7VOZ0EYRWOj40JPAiv9NamNZcnZUkfI3cuCqdBNbehUL4Gk/WPKE3/G9sL1dv0/xyydr2KYjTwMmRnNeNYPKBYAnTP7lboOZE3UcrvYSNJtp8k39NbhOw93BvVvOOeP3tWS0euO8OA6j9NENNBa0enzAfInLna+OItyXVjCpIZE/pB8A96yjDyHWq57hDbP1W/7/vJewSB1WSahsNl7Xw1MwMP/J+PWdKRQZYMgSlMDPR4TvrYHB23kXLs4eTVBGOgfHUeEnFzyrs oStLzGzp pP8I7hIl1/+/9Bz5rTaXz98h6PQnttMcDub6KVNB0fz12YFvVInWTKJblanLuAbhqjwBq12kE4uo5jLohktQOUtX20k18hwIo1AkVEG1p6WQt2E2SymndrGQ8nyxQjfGvMK08 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: From: Gang Li Inspired by these patches [1][2], this series aims to speed up the initialization of hugetlb during the boot process through parallelization. It is particularly effective in large systems. On a machine equipped with 1TB of memory and two NUMA nodes, the time for hugetlb initialization was reduced from 2 seconds to 1 second. In the future, as memory continues to grow, more and more time can be saved. This series currently focuses on optimizing 2MB hugetlb. Since gigantic pages are few in number, their optimization effects are not as pronounced. We may explore optimizations for gigantic pages in the future. Thanks, Gang Li Gang Li (4): hugetlb: code clean for hugetlb_hstate_alloc_pages hugetlb: split hugetlb_hstate_alloc_pages hugetlb: add timing to hugetlb allocations on boot hugetlb: parallelize hugetlb page allocation mm/hugetlb.c | 191 ++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 134 insertions(+), 57 deletions(-)