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 C0B4CC71136 for ; Thu, 12 Jun 2025 20:37:10 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 272176B007B; Thu, 12 Jun 2025 16:37:10 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 248CF6B0089; Thu, 12 Jun 2025 16:37:10 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 188366B008A; Thu, 12 Jun 2025 16:37:10 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id F3CCD6B007B for ; Thu, 12 Jun 2025 16:37:09 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id A70A516015B for ; Thu, 12 Jun 2025 20:37:09 +0000 (UTC) X-FDA: 83547908178.07.82C2698 Received: from mout-p-202.mailbox.org (mout-p-202.mailbox.org [80.241.56.172]) by imf01.hostedemail.com (Postfix) with ESMTP id 587B440002 for ; Thu, 12 Jun 2025 20:37:07 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=pankajraghav.com header.s=MBO0001 header.b=R4LaJXdj; spf=pass (imf01.hostedemail.com: domain of kernel@pankajraghav.com designates 80.241.56.172 as permitted sender) smtp.mailfrom=kernel@pankajraghav.com; dmarc=pass (policy=quarantine) header.from=pankajraghav.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1749760628; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=7Smza2Jc4Jwl4Da5lRMks2Zjvr0wRUWchDcyc8CJiMs=; b=c/1hGhI0pvB8zmvZ1kHJnHKJGy/4HnE7mH2zjZ9P0eSnob0z69rT4PlVmO3H3wlcJp10BE THlURpgK96zlVuNp/BvuLZT8jm1ugoMbTqJIULApQqY8XpbpBQERao73LUReTCM7v3sZJs eJqJEpoeS318Uq5BQ+1t6cliL8ReQ9g= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=pankajraghav.com header.s=MBO0001 header.b=R4LaJXdj; spf=pass (imf01.hostedemail.com: domain of kernel@pankajraghav.com designates 80.241.56.172 as permitted sender) smtp.mailfrom=kernel@pankajraghav.com; dmarc=pass (policy=quarantine) header.from=pankajraghav.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1749760628; a=rsa-sha256; cv=none; b=kU4imjEMwb+N8gAw2Zi3J42bsrhwb9V/jCZq0vy492AQ7FOifh8ViH1SvmFzXe/Z1oH+sa ia02dyU1krBHR8kgjrkSqw73/ch813aSv6ejXWvw/TeyxqE2e4ZsWsYBtAIH8qXudGZrTp ytT04pO9OcV0FJecoe2NXWlQ4CmRD9s= Received: from smtp202.mailbox.org (smtp202.mailbox.org [IPv6:2001:67c:2050:b231:465::202]) (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 mout-p-202.mailbox.org (Postfix) with ESMTPS id 4bJDpk5BGyz9t5Y; Thu, 12 Jun 2025 22:37:02 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pankajraghav.com; s=MBO0001; t=1749760622; 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: in-reply-to:in-reply-to:references:references; bh=7Smza2Jc4Jwl4Da5lRMks2Zjvr0wRUWchDcyc8CJiMs=; b=R4LaJXdjSwMzUkY7g817Vq/lRyAaIBH3jcKGIh7tWnoqeown1ttyXDuiZ3nabREK7v9XHw ycPTaxOzRz1qNET38XoBmQrfxk3NzK9NAxaTGLMHjSWjAwvtd7MxSvkbxp1VIOaaMP5DZE Byzvv5fxey/X9IFFTI5HPyGIgiMDIAcg6pfLG52GYWH8NVHJ5bthwJwL9aYMSMQlR/J3IP E30fKoibQSosM97GRjxFsckpEWYAEezBI+osesLhmBdWKdFPoTEVgIg2F2N5eic3cFBHCK 4U7HoT/g5YhSxT117sCaYTkH6p15140lyOmGr94ba7fhb+algNv2I1TZ7ZZVfQ== Date: Thu, 12 Jun 2025 22:36:48 +0200 From: "Pankaj Raghav (Samsung)" To: Dave Hansen Cc: Pankaj Raghav , Suren Baghdasaryan , Ryan Roberts , Mike Rapoport , Michal Hocko , Thomas Gleixner , Nico Pache , Dev Jain , Baolin Wang , Borislav Petkov , Ingo Molnar , "H . Peter Anvin" , Vlastimil Babka , Zi Yan , Dave Hansen , David Hildenbrand , Lorenzo Stoakes , Andrew Morton , "Liam R . Howlett" , Jens Axboe , linux-kernel@vger.kernel.org, linux-mm@kvack.org, willy@infradead.org, x86@kernel.org, linux-block@vger.kernel.org, linux-fsdevel@vger.kernel.org, "Darrick J . Wong" , mcgrof@kernel.org, gost.dev@samsung.com, hch@lst.de Subject: Re: [PATCH 0/5] add STATIC_PMD_ZERO_PAGE config option Message-ID: References: <20250612105100.59144-1-p.raghav@samsung.com> <30a3048f-efbe-4999-a051-d48056bafe0b@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <30a3048f-efbe-4999-a051-d48056bafe0b@intel.com> X-Rspamd-Queue-Id: 587B440002 X-Rspamd-Server: rspam03 X-Rspam-User: X-Stat-Signature: txufq9o97casbh6nq1e5sau853eibikn X-HE-Tag: 1749760627-716641 X-HE-Meta: U2FsdGVkX1+bnuN8oMHWKcXNsdVqg4J9INcAWsxflZ6JgGodibI/wuJIqzND5bBrJIwS2x18vOO6cKtYwgJkN+sd86xUSGPNhqB1QWSblMSSSJ8iVYjZwxwMnjOwbZOqVnQhs3Y5/enY5okNA5bAuri7ibcHYEsJdQDFn4mRWRauNPuZXcnRdnlLdrc7tOSERPpEARF8GaM26TX/CsIcJ+H/oi1cuKHk+tmdD2v0txoB6E4nQt1Cca6cSauGoJrs9zvNKt5H/5hmmipYCQ/1CxOUzkach5riRMnXvcQxQ4ufvHGX7bAVLLDJpCNyffCFENnR2OHmWp6q/+VEGaoHNwgclOcfYtTpl5p9mPJ+irgWtcsNX3BtzDjMd3K+Zh/21xYogO65M4pXcXnpbhurE3zkA4IspOCxQ5SMY6Szyl9ivyTlkXD2WXg0QGtn00THYH7nShHKSSo1tNPlejG2lDFI/458wmggIeE0cbtzaw0MOWn3xxf9WeVEbDhL1TBg+8X5+/GYOpxjjqAo6biyUQrbkYZA3wLJGlwx2KXweCk/xhtCvsNoLkDi6HzjnOZn+kY0Vm+mDnsMpCJWpAXiDcHlvhPHnV6kJKQVhREFKTgjBg+J5PP8/0gGVC698WkpMNTeJlOyz+K2fDyLh1hBB+Af4Da24ZhaMltVeJsEtq5lhHXDyD4HY/V3Vsk30SZfwd6imACHnKGxRwwtohmnL73xwk3M634Z5OusPjxsbQZiz8yN4a9t/Ia8vhzrXI3f8/QgsKvtY3lyOd61gVsk09cEltdq+NI2HEoRYJYHmWg/NQs6tA8z/FuuCwl9GX0VffW3FREaVtXGQJIO3lONLWJxDNkabjL9bpnFagos3Ji6uIMrs9UOd4gMWaCsfY6hntKVFNDHUDyYhm0MJc7zIpT/R4oM3NxbsvXMWkwc7QZAArz7r+86gIzdiesDd0gb8eZRf+0/T289LXxG6wK hHmuYtmK znrDgKD8HOT3a6wPT+7kv0xS746AUGczgl7RDjFy88SmnIz6jQmPev/JtE/EiNJJTtYLKKSp/Nyel1YjBRBbv3h7Pb/tAZJszzuoJkWTUnHmeaZf0/5qjnwmav18CDsjB0A9n0v0H5cwXoMMtsnrSXrhvbEtUUSW5UvmljJTrq2bBKzBM50aYfXyHJYQMCC3UsCXgoMOj4BGUWj85mT8AK+uqUg6w4TIanObqdgoJU8+3Qiqgl5fq/4ZncnKUjGl2wcpskZ9G+P4D2I/IeGVcLvazITLycetnNz9Uf2JbsMlOj5m5FdPa4jqQs0J1J7jesd6gfOWrNqat53b6PIzRdD7AJgN91NxfM+T7 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: On Thu, Jun 12, 2025 at 06:50:07AM -0700, Dave Hansen wrote: > On 6/12/25 03:50, Pankaj Raghav wrote: > > But to use huge_zero_folio, we need to pass a mm struct and the > > put_folio needs to be called in the destructor. This makes sense for > > systems that have memory constraints but for bigger servers, it does not > > matter if the PMD size is reasonable (like in x86). > > So, what's the problem with calling a destructor? > > In your last patch, surely bio_add_folio() can put the page/folio when > it's done. Is the real problem that you don't want to call zero page > specific code at bio teardown? Yeah, it feels like a lot of code on the caller just to use a zero page. It would be nice just to have a call similar to ZERO_PAGE() in these subsystems where we can have guarantee of getting huge zero page. Apart from that, these are the following problems if we use mm_get_huge_zero_folio() at the moment: - We might end up allocating 512MB PMD on ARM systems with 64k base page size, which is undesirable. With the patch series posted, we will only enable the static huge page for sane architectures and page sizes. - In the current implementation we always call mm_put_huge_zero_folio() in __mmput()[1]. I am not sure if model will work for all subsystems. For example bio completions can be async, i.e, we might need a reference to the zero page even if the process is no longer alive. I will try to include these motivations in the cover letter next time. Thanks [1] 6fcb52a56ff6 ("thp: reduce usage of huge zero page's atomic counter") -- Pankaj