From mboxrd@z Thu Jan 1 00:00:00 1970 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 EF1C7EB64DC for ; Wed, 19 Jul 2023 03:36:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3831E280028; Tue, 18 Jul 2023 23:36:36 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 332DC8D0012; Tue, 18 Jul 2023 23:36:36 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1FB52280028; Tue, 18 Jul 2023 23:36:36 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 04FD88D0012 for ; Tue, 18 Jul 2023 23:36:36 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id BBAB5B016B for ; Wed, 19 Jul 2023 03:36:35 +0000 (UTC) X-FDA: 81026949150.11.0EEFA27 Received: from out-41.mta1.migadu.com (out-41.mta1.migadu.com [95.215.58.41]) by imf12.hostedemail.com (Postfix) with ESMTP id CCA5F4000D for ; Wed, 19 Jul 2023 03:36:33 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=qTMC2PfZ; spf=pass (imf12.hostedemail.com: domain of muchun.song@linux.dev designates 95.215.58.41 as permitted sender) smtp.mailfrom=muchun.song@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1689737794; 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-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=9/bKdSl4bL/ALz46t3piE5f2eCd5ENeQ8V1dbQqCg9c=; b=gJ1XK+xEo+5Q9Fi364Vs+STtGzd93GGhDvLLSgDmAtYuDBLkRedkPeMyA6HDhMA+T7Oc3X OQbQyxNO0T23OZ86w6TJ8GDLslAy4pfKQ1UQQW+qCOM6xD+uxYSxmAZ82jjNZK0Xto6u/c nFOtlRDFNPJIrprSGzneAaXI1UBHUos= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=qTMC2PfZ; spf=pass (imf12.hostedemail.com: domain of muchun.song@linux.dev designates 95.215.58.41 as permitted sender) smtp.mailfrom=muchun.song@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1689737794; a=rsa-sha256; cv=none; b=6jVqyibUBo2KepeWzZgFxwH/wYuU1lqbPGc5Vir1qnIwQqXrobejDQP3XwW73sfFUnrbwh oTzDFYt5KlEF6x3z/XQ+Mn09V3p6StLYkQ5iWmpxompYFgqOmIzFwpPu2IRGMv4RrC/8pJ 3YwbUPR65sg2rYa7EPc+Mxv89vp+s0I= Content-Type: text/plain; charset=us-ascii DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1689737791; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=9/bKdSl4bL/ALz46t3piE5f2eCd5ENeQ8V1dbQqCg9c=; b=qTMC2PfZJIX6ph5q/BQMb7swLil9bXc6mnr4B99vRzZ+6MFfqW+rxOLWHjdtrzlwUfXsUK u6s5XHVNbse7WX/9Fprhd6EKbW3t+64IhHP43mIWQyzpXJ/7ytTKH4pUA362YCrmmN8a89 qtXXBcLfZjBeb5AXF7KfaIN25KCsbc4= MIME-Version: 1.0 Subject: Re: [PATCH v2 2/2] hugetlb: optimize update_and_free_pages_bulk to avoid lock cycles X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Muchun Song In-Reply-To: <20230718004942.113174-3-mike.kravetz@oracle.com> Date: Wed, 19 Jul 2023 11:35:44 +0800 Cc: Linux Memory Management List , LKML , Jiaqi Yan , Naoya Horiguchi , Muchun Song , Miaohe Lin , Axel Rasmussen , James Houghton , Michal Hocko , Andrew Morton Content-Transfer-Encoding: 7bit Message-Id: References: <20230718004942.113174-1-mike.kravetz@oracle.com> <20230718004942.113174-3-mike.kravetz@oracle.com> To: Mike Kravetz X-Migadu-Flow: FLOW_OUT X-Rspamd-Queue-Id: CCA5F4000D X-Rspam-User: X-Stat-Signature: 7kzbpqf6hotr8xpks7mtgyygp8zh7x6t X-Rspamd-Server: rspam01 X-HE-Tag: 1689737793-285141 X-HE-Meta: U2FsdGVkX19xyaS4aceM8yiSZB6RXtwMQsW0n52/y8jkbntnfDyw9x5zZOFZyaavMKkwQKNpIO2J4X1Ca/0H4C0KrB7OfbOYT1PNkUlTQEX5PZpTM8ZZuFwQTANmY30jDb4UVugCSNJkV6K2kXTZ8sGa2YIRwQ0AsvVqaSl5W1c8PCWp3vx18+YljKD1TRXA4SFE40pzQ62eKM/1PLlgAJnfbqb5UUyrBausOcDYLZsTRrHz55piDo7pC5ovCuodjMDYnVO0858hyVlynFnSBOMgv522DdVohoz+XMmhxBO7UvUVd9liF+98VmmOivc5AHeJfTQVfBhNzHLybUkx92Op1/CKIz24n8DeUK3S3evmkLjd/sFJWupa8/09bcbB5d2u89jCSCa7C3zNdpWxrBTQMkOCI8p0HLjtHDgU8++1uc8fqf91cAeY6/K33I9yJxvPb2jVZH2K19mI/daLB5lyE7Lz5/0KA9PCqpDRaKO006PBSHbnH/GkCloKSYUaOmWzqAn+HRJ4f2OBwsVrJKxGT4yhiqI7P8b3R4a/RV4eKBG9RhjJGG28DAdhhqd0zVeN9BjfNM9IZKoO6FJtP1LDRjbiioBgLeL2mbcBlN+vplU3qga70Xl6QrFkZvxOEJvO5z0yn/VvexfA1BY/29GB/z+TkfZQuh1stIdQ2SW6hetWvNQrESaZq7r9xdZUeoTtWXYqrtcjIhhhAhmlwl6Oa54Wv0vo392/jrl+QonnTCi3gG97AXQ+66ws6rEnh6pffKjpagOlVy7xe5OQKhi5zRiq9VsGMieTqa7q1W0g1QRoStLFlC2YXCB8HO2RzX/q5cfTGduvIbT/N0Qfqy0a28AIVrOpIe1QaHsO2sIhR2u9h1D+jGJ3wnkWoy31CF2gDsZgG7bVnNhIkW85PHUWlBd9mW3ZKMNf3kaxjzveGYjdMkXKZBiMCcfCryPaQKywo938ZfwdkH7ufdk mLIexx/y GwB9DLQT/bsjaI+Da1Pu7YgaYZ8G3mbJfu91HsrS0pqJx8xH+TrNIY+WrW+yli/d/rJzppcdcPVywJNUaj/jKC1tszSWLASTxI/3MfH3btK2DyvYjV+5bJNFGgufFe1RTPGjs9lmK7ZlUaMuPN5/4w1dbDv0m4duE3fkq1R/wT/vvTBJeP3R94BT2SVZ3MgRBU3s2FJVpKi7yuBbHYA94bOs10Q== 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: > On Jul 18, 2023, at 08:49, Mike Kravetz wrote: > > update_and_free_pages_bulk is designed to free a list of hugetlb pages > back to their associated lower level allocators. This may require > allocating vmemmmap pages associated with each hugetlb page. The > hugetlb page destructor must be changed before pages are freed to lower > level allocators. However, the destructor must be changed under the > hugetlb lock. This means there is potentially one lock cycle per page. > > Minimize the number of lock cycles in update_and_free_pages_bulk by: > 1) allocating necessary vmemmap for all hugetlb pages on the list > 2) take hugetlb lock and clear destructor for all pages on the list > 3) free all pages on list back to low level allocators > > Signed-off-by: Mike Kravetz Reviewed-by: Muchun Song Thanks.