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 C1786C7EE30 for ; Wed, 25 Jun 2025 08:53:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 647276B00B4; Wed, 25 Jun 2025 04:53:33 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5F7926B00B5; Wed, 25 Jun 2025 04:53:33 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4BF236B00B6; Wed, 25 Jun 2025 04:53:33 -0400 (EDT) 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 38AA96B00B4 for ; Wed, 25 Jun 2025 04:53:33 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id D88291619FA for ; Wed, 25 Jun 2025 08:53:32 +0000 (UTC) X-FDA: 83593309464.27.4169D34 Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131]) by imf07.hostedemail.com (Postfix) with ESMTP id 90DF140004 for ; Wed, 25 Jun 2025 08:53:30 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=cyy+NN0h; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=rGwHmcrF; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=cyy+NN0h; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=rGwHmcrF; spf=pass (imf07.hostedemail.com: domain of osalvador@suse.de designates 195.135.223.131 as permitted sender) smtp.mailfrom=osalvador@suse.de; dmarc=pass (policy=none) header.from=suse.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1750841610; 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=GAfGh4tYtysketyE4fbGkajM3VhOr88Hy7D0kXgBIiU=; b=d39RxU3/1t3eJQlIp1zXhsUIKdDctRyUh6rJY26SIAKxLh7wn3wGcn5fh0v3hmyibUE/zw +87nw9kabCE3JQWz4ySLR6HDHFeHkhEXAtyAoXZbTsGJlkKG41BAYqrjfWyjKMmP74byB9 rMvKNp3Ns5WrvZ+bELwOlzAw9l3blm4= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=cyy+NN0h; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=rGwHmcrF; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=cyy+NN0h; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=rGwHmcrF; spf=pass (imf07.hostedemail.com: domain of osalvador@suse.de designates 195.135.223.131 as permitted sender) smtp.mailfrom=osalvador@suse.de; dmarc=pass (policy=none) header.from=suse.de ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1750841610; a=rsa-sha256; cv=none; b=8TleQTsQyFt/F4ChMWmrKBpUymtNRu/Px5sJdsqzwqEOnm6Axwh6Ew/hSb/uEqn+ZUdSFa Zzb7uAKs7vbzb5hj1d8piwPDpPPtjtZgj+v3AM8IOV/QqfBVDcfVhYSyTcxBdcTsM7Vg9v Ax8i/0/y8y3Ae4bBZo5lvukOoPz5aU8= Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.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 smtp-out2.suse.de (Postfix) with ESMTPS id 2D6291F441; Wed, 25 Jun 2025 08:53:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1750841609; h=from:from:reply-to: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=GAfGh4tYtysketyE4fbGkajM3VhOr88Hy7D0kXgBIiU=; b=cyy+NN0hrseRtAGCGBieJVuers0yS9mDOnwBsQkfjvA4vTfElXF9LBcFPJC5g42YcOWnnf kTFWduHPeuZsjTb3MlzoftZVmCB9Myqt0knmJq3lwBuY5kijYGEJSKM8mftl6YDrUndxeq YTGo4dnpA209BaBqWWNpNViantAlXFc= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1750841609; h=from:from:reply-to: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=GAfGh4tYtysketyE4fbGkajM3VhOr88Hy7D0kXgBIiU=; b=rGwHmcrFlj+nV2KdEQwWN3n5vfoo/k7CBzpbQ0xp+u+NAsLjhNM2V4rMA5UpDFNC+jAbud neEzhTu5DnXfcHBg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1750841609; h=from:from:reply-to: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=GAfGh4tYtysketyE4fbGkajM3VhOr88Hy7D0kXgBIiU=; b=cyy+NN0hrseRtAGCGBieJVuers0yS9mDOnwBsQkfjvA4vTfElXF9LBcFPJC5g42YcOWnnf kTFWduHPeuZsjTb3MlzoftZVmCB9Myqt0knmJq3lwBuY5kijYGEJSKM8mftl6YDrUndxeq YTGo4dnpA209BaBqWWNpNViantAlXFc= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1750841609; h=from:from:reply-to: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=GAfGh4tYtysketyE4fbGkajM3VhOr88Hy7D0kXgBIiU=; b=rGwHmcrFlj+nV2KdEQwWN3n5vfoo/k7CBzpbQ0xp+u+NAsLjhNM2V4rMA5UpDFNC+jAbud neEzhTu5DnXfcHBg== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (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 imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id B604713485; Wed, 25 Jun 2025 08:53:27 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id TjjbKQe5W2ikJwAAD6G6ig (envelope-from ); Wed, 25 Jun 2025 08:53:27 +0000 Date: Wed, 25 Jun 2025 10:53:26 +0200 From: Oscar Salvador To: David Hildenbrand Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, nvdimm@lists.linux.dev, Andrew Morton , Juergen Gross , Stefano Stabellini , Oleksandr Tyshchenko , Dan Williams , Alistair Popple , Matthew Wilcox , Jan Kara , Alexander Viro , Christian Brauner , Zi Yan , Baolin Wang , Lorenzo Stoakes , "Liam R. Howlett" , Nico Pache , Ryan Roberts , Dev Jain , Barry Song , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Jann Horn , Pedro Falcato Subject: Re: [PATCH RFC 10/14] mm/memory: factor out common code from vm_normal_page_*() Message-ID: References: <20250617154345.2494405-1-david@redhat.com> <20250617154345.2494405-11-david@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250617154345.2494405-11-david@redhat.com> X-Rspamd-Queue-Id: 90DF140004 X-Stat-Signature: edxpqh6gui8ksjr1t57feddqbnz4hpdz X-Rspamd-Server: rspam09 X-Rspam-User: X-HE-Tag: 1750841610-988210 X-HE-Meta: U2FsdGVkX18jpFrIv06o4CtnjlfWBKgmHqr/LV/tUxa/zXm7c9LkgyWvOSIRW1u3eVCYx8IG7qaDwJhPWyVLJ0zs00bkkf3PiLwqF7qaTLNp3SCJptgshhY/ZzONGHwStRHoluoeDUBtzBkL62giq2wy+1hLkzCtj4hp7BAb2BYQxGUTd4zI5oETkZl8hqFpi100iwa2AoEvKpJm7cZMCm62K6ST29Eb49sy2T8ZkuCjgujgCjH1vPzEe7HiYkoceOGHUaK0AXjz+J8Fz0mDhK/Kih/ykjfxqM2bWoKyrs96GPqztlNfjvc5Asw8ZzILCKYjhnwfNhzzHWZqyvSmOtWkDvSy4eSK73NvsyBd+mvKjIyfIrscYDVatuI6iqa86mJtZEUNMdkda2n63dVcWM2Kmlw3+taITe+0r7ei39QBp0Uqghr7BCiEvMhurgPZZBrVobvlmxdMcRNA1sDL9BClSvyKw7RQagAWmLiVfNX3DXXgHvEnZ48tVK1CSQnhW3u4G2+a8AeDx5zccE6PcAf3PmcKYvTt9bFFdVNtOe99cG/kAIMiqEn1i3cUNFf5xRGCoN9TpgWLCW48N68QC4PrAX3dVb4aGr97YBCC9g7//JtQKBAwbaL4izI9C+q9Sj/RW5S6OPJScXJvbOUK2C08KQmheKK3k4FiWXZ70ug34hNp2DA2m3VhH1b8ES0GQBKHncABkdJ9AQDb8CBOBGhcbGQ5MI9wJXdu52WzV4b/sSydxLgTyuSzKe8xMfpycmTpHbqQ7cVIeg46ODMn4WEb5GhSFTCj4Su+Wq3GZCvs/RT8FBzOUmSFL2Cxwv5zdvQe2ujIWUdqQ7i7ATMdHt8u5uopaAltkIpiUoDfpdqbsvgVDdq+fBwUjS8tBBCauHbHavXMP0F5pHgHzl9T4Plm4+UUb9DRpXjoNHyhPpzOmqTyhQ5/fQZnH6ybTD1HiGs8uI2mTAjFRA9x9ab Izn3PtSs 1fLEq8TJ6jjhr7J67rE6KX4WrX2J6QX8nZtkVwWqxPoxhC4Yea9BQ9r6JsSvfm+Y2eHleJYsnNO05mpaB83DZ0ECGuffYEJ8xvRw+q8B7EoBf7KpoigfRLZ4QzuNJWiPd8kJpxCElDZOX/lacMo8x78N9WgQKcKs+62G5hKMlkrZx86xjE9gaADF14iZCKx9zesFg1z6FfIhdJN5LyfwJCa5aUVTGt8wJh7+Zj87AOGckxBXQEuyV2vRQi+qH6TsEqUL+r2PdpcVHBpwblDD4GqCKIAHryYhRJWvpG3W8AoDlNSXZU+MkWGP//pAYC7Wu9xQuILKpRxm4xeY= 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 Tue, Jun 17, 2025 at 05:43:41PM +0200, David Hildenbrand wrote: > Let's reduce the code duplication and factor out the non-pte/pmd related > magic into vm_normal_page_pfn(). > > To keep it simpler, check the pfn against both zero folios. We could > optimize this, but as it's only for the !CONFIG_ARCH_HAS_PTE_SPECIAL > case, it's not a compelling micro-optimization. > > With CONFIG_ARCH_HAS_PTE_SPECIAL we don't have to check anything else, > really. > > It's a good question if we can even hit the !CONFIG_ARCH_HAS_PTE_SPECIAL > scenario in the PMD case in practice: but doesn't really matter, as > it's now all unified in vm_normal_page_pfn(). > > While at it, add a check that pmd_special() is really only set where we > would expect it. > > No functional change intended. > > Signed-off-by: David Hildenbrand Reviewed-by: Oscar Salvador Comment below > struct folio *vm_normal_folio(struct vm_area_struct *vma, unsigned long addr, > @@ -650,35 +661,12 @@ struct page *vm_normal_page_pmd(struct vm_area_struct *vma, unsigned long addr, > { > unsigned long pfn = pmd_pfn(pmd); > > - /* Currently it's only used for huge pfnmaps */ Although the check kind of spells it out, we could leave this one and also add that huge_zero_pfn, to make it more explicit. -- Oscar Salvador SUSE Labs