From nobody Sat Oct 4 00:27:00 2025 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0F3A434DCE3 for ; Thu, 21 Aug 2025 20:07:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806836; cv=none; b=fE0j/ys4mtskUS5BcPEZThV9IzK5jCgHp81X1IXj/bNUkzs2rng/Rai89Hat/8HVWAZuFvucOGxGlH9DiwYe8KsRB0bJZTqY7RzgJVPulb99aPox3bbUefwBxNySed72kUYXb+Ab000uZalDlAiXYNmIdbt+j2udskIQ7PkXi3Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806836; c=relaxed/simple; bh=6nSseGe+74q2JGOSoz3zO112Eo1zTQLz4H2FdYfsyUE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=WkNq2cwDcrssQsD3LFpMF60XpNA23vFFsBts1WltDaR/z3svxog8bAZWYkKaoT0bW/7ViuJS/R+5+xMutGMvzj/xIg4FX7JrZL4KijoNgDO7pF5kuZ7RGRL52vr+GZGTKhtUgCyF3AL/afhQyWQw8Yt/6pzX63ohLBgvGjByCMo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=Gpsj5xLh; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="Gpsj5xLh" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1755806834; 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: in-reply-to:in-reply-to:references:references; bh=XmvTcrL5C0dM7rPtm73IEcsYc8PUVzmaMdzwCc2EnvI=; b=Gpsj5xLhTVAQOWAG/6cwI+51yt7xTehBlujO1Xuspshnj8UDaL6k85ikQ3oxi/NjhxFWwy 4PQUF5gUgRgdF1PNa0q2SAeOjJp7mwgK2C9/FMtbWCXkjvtP3g0jaWpabvGLZBAsHIHJjY TfTs4wQJGui19rUEYrNkD3ooKiUFK28= Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-220-gPYQh7XCO5mtaWxZTPnppg-1; Thu, 21 Aug 2025 16:07:10 -0400 X-MC-Unique: gPYQh7XCO5mtaWxZTPnppg-1 X-Mimecast-MFC-AGG-ID: gPYQh7XCO5mtaWxZTPnppg_1755806830 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-45b467f5173so9412005e9.3 for ; Thu, 21 Aug 2025 13:07:10 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755806830; x=1756411630; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=XmvTcrL5C0dM7rPtm73IEcsYc8PUVzmaMdzwCc2EnvI=; b=qYbECLb0whVP2l0WtyZI1FsL4SOUqA68M4GcJvkwhECx+BVPlDU2K4GdJNoqUuD37U SA1BmSModYjyhKg/EOBbKwBs00za1n2lisgS1+kPHWLOzm5GWhqSeMRfxJavTCm1Z27+ ux2XsApp07bgTwKqq4cjUAcvskW0WfM7Px+pfQRb92BM/gkrC+tlbNlWxfPxvjGGYEfx bJbk8w2VD8r1J9RkbWinUAyzYt4FHlT0pZmkvmj/T8sr6oX43xprBtT/9FcJYLloJCOr uo5PPYEX81n+IppzncEesX7BDvh/5ozAnX8rNVGdyrD6VKDySAkNEwPlVhu7yZU8dJde l9qA== X-Gm-Message-State: AOJu0YyETW5eYlDc/PLlYh1CIt2fKLhrKrygZ/JbckEiZIcG60WPMbWv LD+Kcp4LRUpgm5lOLk08slrbuwncx7ZeljFmadFaKHiK75N6jvTvVrKHemDgxPkZqfjBbqHgsCh Tnz5aTQn82TCLzT6sP3vw1K6Iy/4Eg/Qi6Y8lwABInpQVkCYkD1zcht2WagTpHE34v3EsJcYSJj wZ8rzxp4h48zEN+2oX0Yd8A7pM2XXQ1kemtYMppzJ66xkfyOOw X-Gm-Gg: ASbGncsvfNx3bzrVhtFzwYbaFuxSCqFxE10GpPIhl3C5LS8zKUE3YInMmeJmHsmJ3K6 aqABAQ0RpKYTGPxV9vHgmF2N0AEbWWLiDBB6XV1G3IuE8wCAtSdnYBK6h1PzCMM5U/rclhsNSxC NhNTKBKBjyi46m7o+d267JDrV5H1ug01KH8tiCgI1op8JptFfu8f8TC4V5L0aqqxMrdEZ8ARCM3 KZEuxpGaHmhRMbad9QHR18KYqs8Jpzyuan7y/MgLtN+Gzx9BN1QgyqrLwPVpbMxe+oCwf/INC79 9qnFMzdWKrOFTSBXKEhymPm4Pu95f9f/rMr/rKc7sLyB0PP2NpyOuHBYFJSFuSjQa1hV5dMyWT/ 7+Y2jn41ekha6+63vQo8Z4w== X-Received: by 2002:a05:600c:4506:b0:456:eab:633e with SMTP id 5b1f17b1804b1-45b517c5f34mr3673995e9.17.1755806829625; Thu, 21 Aug 2025 13:07:09 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGvYkVaGxfZdplMxnR9eu9+L8mDJqjqWM2enq3Cze2cE8zEp05huuco+bDpuuERUQ/1xaOAqQ== X-Received: by 2002:a05:600c:4506:b0:456:eab:633e with SMTP id 5b1f17b1804b1-45b517c5f34mr3673145e9.17.1755806828996; Thu, 21 Aug 2025 13:07:08 -0700 (PDT) Received: from localhost (p200300d82f26ba0008036ec5991806fd.dip0.t-ipconnect.de. [2003:d8:2f26:ba00:803:6ec5:9918:6fd]) by smtp.gmail.com with UTF8SMTPSA id 5b1f17b1804b1-45b50e1852asm8722665e9.25.2025.08.21.13.07.06 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 21 Aug 2025 13:07:08 -0700 (PDT) From: David Hildenbrand To: linux-kernel@vger.kernel.org Cc: David Hildenbrand , Huacai Chen , WANG Xuerui , Madhavan Srinivasan , Michael Ellerman , Nicholas Piggin , Christophe Leroy , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti , "David S. Miller" , Andreas Larsson , Alexander Potapenko , Andrew Morton , Brendan Jackman , Christoph Lameter , Dennis Zhou , Dmitry Vyukov , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, iommu@lists.linux.dev, io-uring@vger.kernel.org, Jason Gunthorpe , Jens Axboe , Johannes Weiner , John Hubbard , kasan-dev@googlegroups.com, kvm@vger.kernel.org, "Liam R. Howlett" , Linus Torvalds , linux-arm-kernel@axis.com, linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-ide@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mips@vger.kernel.org, linux-mmc@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, Lorenzo Stoakes , Marco Elver , Marek Szyprowski , Michal Hocko , Mike Rapoport , Muchun Song , netdev@vger.kernel.org, Oscar Salvador , Peter Xu , Robin Murphy , Suren Baghdasaryan , Tejun Heo , virtualization@lists.linux.dev, Vlastimil Babka , wireguard@lists.zx2c4.com, x86@kernel.org, Zi Yan Subject: [PATCH RFC 01/35] mm: stop making SPARSEMEM_VMEMMAP user-selectable Date: Thu, 21 Aug 2025 22:06:27 +0200 Message-ID: <20250821200701.1329277-2-david@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250821200701.1329277-1-david@redhat.com> References: <20250821200701.1329277-1-david@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" In an ideal world, we wouldn't have to deal with SPARSEMEM without SPARSEMEM_VMEMMAP, but in particular for 32bit SPARSEMEM_VMEMMAP is considered too costly and consequently not supported. However, if an architecture does support SPARSEMEM with SPARSEMEM_VMEMMAP, let's forbid the user to disable VMEMMAP: just like we already do for arm64, s390 and x86. So if SPARSEMEM_VMEMMAP is supported, don't allow to use SPARSEMEM without SPARSEMEM_VMEMMAP. This implies that the option to not use SPARSEMEM_VMEMMAP will now be gone for loongarch, powerpc, riscv and sparc. All architectures only enable SPARSEMEM_VMEMMAP with 64bit support, so there should not really be a big downside to using the VMEMMAP (quite the contrary). This is a preparation for not supporting (1) folio sizes that exceed a single memory section (2) CMA allocations of non-contiguous page ranges in SPARSEMEM without SPARSEMEM_VMEMMAP configs, whereby we want to limit possible impact as much as possible (e.g., gigantic hugetlb page allocations suddenly fails). Cc: Huacai Chen Cc: WANG Xuerui Cc: Madhavan Srinivasan Cc: Michael Ellerman Cc: Nicholas Piggin Cc: Christophe Leroy Cc: Paul Walmsley Cc: Palmer Dabbelt Cc: Albert Ou Cc: Alexandre Ghiti Cc: "David S. Miller" Cc: Andreas Larsson Signed-off-by: David Hildenbrand Acked-by: Mike Rapoport (Microsoft) Acked-by: SeongJae Park Acked-by: Zi Yan --- mm/Kconfig | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/mm/Kconfig b/mm/Kconfig index 4108bcd967848..330d0e698ef96 100644 --- a/mm/Kconfig +++ b/mm/Kconfig @@ -439,9 +439,8 @@ config SPARSEMEM_VMEMMAP_ENABLE bool =20 config SPARSEMEM_VMEMMAP - bool "Sparse Memory virtual memmap" + def_bool y depends on SPARSEMEM && SPARSEMEM_VMEMMAP_ENABLE - default y help SPARSEMEM_VMEMMAP uses a virtually mapped memmap to optimise pfn_to_page and page_to_pfn operations. This is the most --=20 2.50.1 From nobody Sat Oct 4 00:27:00 2025 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 44A3135082B for ; Thu, 21 Aug 2025 20:07:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806839; cv=none; b=ewdZvM3+tU72SBAYxFk1XROZGLyJ290CioPCenI2YDmATUpjtolaxTTITHoszfkSeQ04JLjoBai1a24qFET2Cx5ID+pP4/ArNjjQmXvf90UxlBWaOVoIe5exyVU8YvTeqI7BZHmsR4fly7oIRrM9iqViOosmBvNoAHjUFBJItLs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806839; c=relaxed/simple; bh=3FOM28sJXvbUF2Tn/5jLCVekviR1dLu1+OtM4m//AQ0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=mDovI+cz69sAhD4EauL4umU5F36yrXnt9CfFhyrh4aF6htvg+JQEAegJ8HZmi1mugCcM3GCXXLZkOc6qKQ9qVNJFaJKxif3nHVw2N1WoBaIF7nr7eGcl06ZRC+LTDG93au9HMDuC4NAeIQWAPPniM0R97F1MSPnY1ly46KSB9DE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=HbguPC8t; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="HbguPC8t" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1755806837; 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: in-reply-to:in-reply-to:references:references; bh=7sWLap5u4LkaWlbSo2T/W3JLtp2tuveUv2Z9sucaeo0=; b=HbguPC8tqBkg7t9/QOVKN35ZpT6p3DwwnNWto2lsLSPmzEFAH/NWIL/1ftGjfqy6oJgfIm vFfgtL3Abduu/oa56uS15OTjsdnVjAj0CciRfKz5zBxWHb5uXFtpZ4foA1Ur45VsAHtVSt nkvO04oL4Iu1BYlT+IGC12IVe5fuu8I= Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-135-KJkzqbYiOu2IFrKT4zHA0w-1; Thu, 21 Aug 2025 16:07:14 -0400 X-MC-Unique: KJkzqbYiOu2IFrKT4zHA0w-1 X-Mimecast-MFC-AGG-ID: KJkzqbYiOu2IFrKT4zHA0w_1755806834 Received: by mail-wm1-f71.google.com with SMTP id 5b1f17b1804b1-45a1b0ccb6cso6963445e9.3 for ; Thu, 21 Aug 2025 13:07:14 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755806833; x=1756411633; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=7sWLap5u4LkaWlbSo2T/W3JLtp2tuveUv2Z9sucaeo0=; b=nx5pmfkYHZPCoNDOdbJKI36JG1jRc3YfhCZIY3Df4l8IAnCAiRpdBfFijfuVNmDnP7 qTa8XhulRk7i8HCTzK/3hLzjIZyRy5OO1+kl7PxtMz+vliCiucwWU/bqHGJImV6tvMJL A+IR5VNt0TFCMSyUXDqBYxcJDxFhaIKSi17VUSmpyx1XUQZKktmPQ8wgMOy+rmWyG3ju GTzEbWatVxLHSINetIvi5/OJFNmwxmdlgcqVvqHJrjez3abLtTwgjD0U2M9kih5Mg7Pi rh2eVghBdBznb9GN65pygNapZWG388V9sciQxVDKcD2jX1goH6/zO1AE7F7nGfitNG+r N0Mg== X-Gm-Message-State: AOJu0Yy8NXEnCIMoVKnO0uKwUTBI1ppK9iou5MnS7X9EvV3ranqFxLX3 cUhgXBzr5Zh9GnUUOFJuCKJ15v0G7abV1cMSbR1cvjvf7cP0rrwQwkkI4HGc5AbUCPGLwQCFx29 AKRhmbBbykGTyP42P+i7Fw8GsVCTGNleJhmx916KdaKfAQI6HKQRARk9WKA+BPY4XQTRuIf8jda /5BR4oz8UomVT0PkwSUFWN+b2exgXAgvlHM8uxrvGQxTx6sOc7 X-Gm-Gg: ASbGnctQegq+QXSvYtsPLP5A+7Lfl1AwDg8vRqy22S6AenThGYWfUOywqaOzcw2bIYJ 5/l0XOkuufk2VxLxObIqR+MCkX06BxIyPc7c+Zrln+Ygi2OdBUEx6j5PV8p4mNBZnGfn10JnNG/ k6w0DB/cygypEuXE5qnRcJQctGckSat3Yu+jkqHNe9F/MiBTWXxM80EMxIx9KqkZtD6HpJMtIIr Ry0skmU/rwRXzQlO9LJhBOfk7JenVaCF+3J1SwpNMeUx/ohGiVC2R3yrhLxGDZadIhnuPaRLlYB UQJKGn3+3EvGfUOS4dwhmSy3JeFto19yLwDKN4t1+THqXLPgZXXUXj6dv/M9UJP0xfcRZRp2/6j rIkavtDXrTba94gC6NF1bNA== X-Received: by 2002:a05:600c:1d06:b0:455:ed48:144f with SMTP id 5b1f17b1804b1-45b5179669dmr2598715e9.14.1755806833475; Thu, 21 Aug 2025 13:07:13 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHSutx6qbatKffMJ28UfT2ZDXFlSv+vNq81oYks3KAGI73zxxTWKo8ClwQ/mmPq6W0wDfVQow== X-Received: by 2002:a05:600c:1d06:b0:455:ed48:144f with SMTP id 5b1f17b1804b1-45b5179669dmr2597955e9.14.1755806832889; Thu, 21 Aug 2025 13:07:12 -0700 (PDT) Received: from localhost (p200300d82f26ba0008036ec5991806fd.dip0.t-ipconnect.de. [2003:d8:2f26:ba00:803:6ec5:9918:6fd]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-3c0771c166bsm12916801f8f.33.2025.08.21.13.07.09 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 21 Aug 2025 13:07:11 -0700 (PDT) From: David Hildenbrand To: linux-kernel@vger.kernel.org Cc: David Hildenbrand , Catalin Marinas , Will Deacon , Alexander Potapenko , Andrew Morton , Brendan Jackman , Christoph Lameter , Dennis Zhou , Dmitry Vyukov , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, iommu@lists.linux.dev, io-uring@vger.kernel.org, Jason Gunthorpe , Jens Axboe , Johannes Weiner , John Hubbard , kasan-dev@googlegroups.com, kvm@vger.kernel.org, "Liam R. Howlett" , Linus Torvalds , linux-arm-kernel@axis.com, linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-ide@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mips@vger.kernel.org, linux-mmc@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, Lorenzo Stoakes , Marco Elver , Marek Szyprowski , Michal Hocko , Mike Rapoport , Muchun Song , netdev@vger.kernel.org, Oscar Salvador , Peter Xu , Robin Murphy , Suren Baghdasaryan , Tejun Heo , virtualization@lists.linux.dev, Vlastimil Babka , wireguard@lists.zx2c4.com, x86@kernel.org, Zi Yan Subject: [PATCH RFC 02/35] arm64: Kconfig: drop superfluous "select SPARSEMEM_VMEMMAP" Date: Thu, 21 Aug 2025 22:06:28 +0200 Message-ID: <20250821200701.1329277-3-david@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250821200701.1329277-1-david@redhat.com> References: <20250821200701.1329277-1-david@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Now handled by the core automatically once SPARSEMEM_VMEMMAP_ENABLE is selected. Cc: Catalin Marinas Cc: Will Deacon Signed-off-by: David Hildenbrand Reviewed-by: Mike Rapoport (Microsoft) --- arch/arm64/Kconfig | 1 - 1 file changed, 1 deletion(-) diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index e9bbfacc35a64..b1d1f2ff2493b 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -1570,7 +1570,6 @@ source "kernel/Kconfig.hz" config ARCH_SPARSEMEM_ENABLE def_bool y select SPARSEMEM_VMEMMAP_ENABLE - select SPARSEMEM_VMEMMAP =20 config HW_PERF_EVENTS def_bool y --=20 2.50.1 From nobody Sat Oct 4 00:27:00 2025 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2E29B34F49A for ; Thu, 21 Aug 2025 20:07:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806842; cv=none; b=FqjJsJSVjvUgoZxt4ThdmawJ4/p8TeZTk0fhu6t9nmpT5lonDI0PplL3BAagJQWpzpn7eZZPgx0tpYTuwKm7ROPfvjGKGlMsFYW0P50y2ybsFTuaf1NfHRFb/DOY/yhKJ2YS9mwHYj1TiESAoGbTPXlKyIdaZ8iOvXvGCQgUT9w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806842; c=relaxed/simple; bh=rCgYuDQcQ3nJcWNFmOxD+pxeBEJSNoep86nFob2zhE0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=uUKykHUzsZKEglcHzhr/tDmccZmVJZmPCGwd9HwWOos4RJy2oOb6ddw4dBHFWvqpBRB6g4/lIfh5BmjmFZZei4apkyDymlCh7AG4xASm9qN7TOvZhZRYv7rV84ELX9+i8oel6uDMHti3Fvn1zSRLj2FA3C59+z0oWgOO1APZSLU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=FvhgezoK; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="FvhgezoK" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1755806839; 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: in-reply-to:in-reply-to:references:references; bh=Zfh98TqNQqR9uCNr2hB5bEgIJ/15ql7Yv0zNbj5EC/8=; b=FvhgezoKXHMUZ2BWrsd04lTIP8unxj540pU946NcJnJJuOAbNKVsaPENFIHuD6kkJBPSKP p0LfaqPL9e5jofDyReCvBx3Ju+COG6jcSU+9UKHLRmnaECy4UXAUOU1zvMDtILyXgF/jdB 8mDdg99mU8xQvc0YJu02PswwzrZb9Vk= Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-650-CxDaqqFqPD6SWTyGnqTyJQ-1; Thu, 21 Aug 2025 16:07:17 -0400 X-MC-Unique: CxDaqqFqPD6SWTyGnqTyJQ-1 X-Mimecast-MFC-AGG-ID: CxDaqqFqPD6SWTyGnqTyJQ_1755806836 Received: by mail-wr1-f72.google.com with SMTP id ffacd0b85a97d-3b9edf41d07so651725f8f.3 for ; Thu, 21 Aug 2025 13:07:17 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755806836; x=1756411636; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Zfh98TqNQqR9uCNr2hB5bEgIJ/15ql7Yv0zNbj5EC/8=; b=ELkRaJP2okJRueI82A+AUzjTtXHJf2tBBfe+2heWbN5oQMeD9Atckk7aCymmynRMs1 zucot/IbvzmrvDzUYvt1vGQKCX4xhCZrNsbGmZSGGsdBgn5E9qLJ9BPC9QMWovC94JiK V8+1cZShezToIql8VTbHuggEFrCeEnHy/gNS20378v+97h7hkHd9gmFIZ4/x1gCqVRkT qC8fhX9hrPZTr3qghazHRJceuqkf4LKu3OisqiLVarxEcLiQjQu38+3fbRYql5FVLsI9 ldSUNkglwgZcatAe5rXtAQydQyWQZaqGyUKjSslOyR0EWUu2SK1WfUBktHjy+ZdCxLEs wdIQ== X-Gm-Message-State: AOJu0YwaPM7iwcYR2NEI6Xl67e/qyvqIWj2BImfZR5IUIhTBjWG5TyKo bCmfMQoxvWVgxQJEdv42oWUGHBXXYBDRAdT5JGdAifkz4DibcnDoxm2SzF34gp4rRvpXm+ULukM NklVwfb2JlWApNZlzvf9nYF3wBL49xHY7YAK5BNb5RXV3iBUpfBOzZZMZcg91IG1L740j85gbrh 4ejwamPitQQbEGDroGySLGv6AVCCYzkoWvqdo+06sTQ9TBv+r8 X-Gm-Gg: ASbGncvaxs/BGl3uaU+DJZShjYsAJoePxtDL3Ivj+QHt8Fps39CSAzNQD3xiUlhbNgL Hckt+IrRK+IjDt216XEK5f9qHdNtNGv/X8NiPnvPIPGsOwBTYABpJHmZihBT9uT7e6pfLKs65Dk 2smc2RXqqT3bXu/p+wFirYgEkw0kkbY586eEnQWIzfnFRblZ0InVKdof1bmf0j+r7wbCVxWLrHq 9KZKj/Uh4ySGLixBr0FSPh+V/sfY5p9MAUJP01KHuhfXAmGKMXBQcQ/lopEPHbCvC7XJdSxlWym 8m/osxlu8lHXumwsDFmZtEzWRtONjgKGKx3tOi3qeDcCcRu5X+WjHLZiZ9CEYgwLwNZOSfQdPcR SZ0Vcs09bqDZwQhO4ZcIsaA== X-Received: by 2002:a05:6000:1445:b0:3a5:27ba:47c7 with SMTP id ffacd0b85a97d-3c5dcc0da36mr163019f8f.48.1755806836225; Thu, 21 Aug 2025 13:07:16 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFpC+bUbLbCjHqucY3RiMYJPd72Xl9UYU3JmJwOiC1ZPXsKWXLLEiwWSHifO8HwGgrBWSbiEw== X-Received: by 2002:a05:6000:1445:b0:3a5:27ba:47c7 with SMTP id ffacd0b85a97d-3c5dcc0da36mr162946f8f.48.1755806835650; Thu, 21 Aug 2025 13:07:15 -0700 (PDT) Received: from localhost (p200300d82f26ba0008036ec5991806fd.dip0.t-ipconnect.de. [2003:d8:2f26:ba00:803:6ec5:9918:6fd]) by smtp.gmail.com with UTF8SMTPSA id 5b1f17b1804b1-45b50dc00a8sm10958175e9.1.2025.08.21.13.07.13 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 21 Aug 2025 13:07:15 -0700 (PDT) From: David Hildenbrand To: linux-kernel@vger.kernel.org Cc: David Hildenbrand , Heiko Carstens , Vasily Gorbik , Alexander Gordeev , Christian Borntraeger , Sven Schnelle , Alexander Potapenko , Andrew Morton , Brendan Jackman , Christoph Lameter , Dennis Zhou , Dmitry Vyukov , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, iommu@lists.linux.dev, io-uring@vger.kernel.org, Jason Gunthorpe , Jens Axboe , Johannes Weiner , John Hubbard , kasan-dev@googlegroups.com, kvm@vger.kernel.org, "Liam R. Howlett" , Linus Torvalds , linux-arm-kernel@axis.com, linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-ide@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mips@vger.kernel.org, linux-mmc@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, Lorenzo Stoakes , Marco Elver , Marek Szyprowski , Michal Hocko , Mike Rapoport , Muchun Song , netdev@vger.kernel.org, Oscar Salvador , Peter Xu , Robin Murphy , Suren Baghdasaryan , Tejun Heo , virtualization@lists.linux.dev, Vlastimil Babka , wireguard@lists.zx2c4.com, x86@kernel.org, Zi Yan Subject: [PATCH RFC 03/35] s390/Kconfig: drop superfluous "select SPARSEMEM_VMEMMAP" Date: Thu, 21 Aug 2025 22:06:29 +0200 Message-ID: <20250821200701.1329277-4-david@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250821200701.1329277-1-david@redhat.com> References: <20250821200701.1329277-1-david@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Now handled by the core automatically once SPARSEMEM_VMEMMAP_ENABLE is selected. Cc: Heiko Carstens Cc: Vasily Gorbik Cc: Alexander Gordeev Cc: Christian Borntraeger Cc: Sven Schnelle Signed-off-by: David Hildenbrand Reviewed-by: Mike Rapoport (Microsoft) --- arch/s390/Kconfig | 1 - 1 file changed, 1 deletion(-) diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig index bf680c26a33cf..145ca23c2fff6 100644 --- a/arch/s390/Kconfig +++ b/arch/s390/Kconfig @@ -710,7 +710,6 @@ menu "Memory setup" config ARCH_SPARSEMEM_ENABLE def_bool y select SPARSEMEM_VMEMMAP_ENABLE - select SPARSEMEM_VMEMMAP =20 config ARCH_SPARSEMEM_DEFAULT def_bool y --=20 2.50.1 From nobody Sat Oct 4 00:27:00 2025 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 94C4A3DABE3 for ; Thu, 21 Aug 2025 20:07:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806849; cv=none; b=pqTO5pT9qpe8fO31sXsaJr+5O2kxBAhCtusQ/HAwwSUNJ5jtWCoPvnCAIHeZ7OJZ8G84c0+rtDtdwsZ7lh9fer2wfiYAkU9Zmjk2U/DkD/FLHBIG5CctqwDnTER5/C3REboiQL+uaDlKxM9BjkPKuvBsBtTCQ3UkpjDiuS4agxI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806849; c=relaxed/simple; bh=Cw7Tggvlta2Xmlg9ZVygUv1C92bk8NKTD0n9SH6aeIk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=qRf/Qrv6elxW1FwPiUC7OXdB9DsbvDPd9ZFZdHlS/bX9e7iKUmQtXJLPutXUxFETaIGuxnkmTBti3jKXhbITctUUoDEqsG4QtUBUoxH+JDXmSQW7v5axd/rOsTQsTHTHvLnZvdmGD2xkxq9JUfZA4pgFu4KKPw1h/GAjTC4fZ1w= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=aSkau4t7; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="aSkau4t7" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1755806846; 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: in-reply-to:in-reply-to:references:references; bh=iU84NUWejaBSUFBs/T0/O04YrYLlq1RcxZMywEFGjU0=; b=aSkau4t7gl41BThKEJ5GfrLlPH0vOD6I290zx6Xt00rjOUMB6kw4cIGo/ewGOF62/4cZio lrLfuicnQFJrlDZtozJLfRqDyRf4omcCNNuuDrx/xTwJWCxAgif5lNagJ5Ec+Z8+oSiva6 AJyCsYpLnbXo/TD62n/gopd7ZgbKZGo= Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-524-yjuVMIiUPqW6ldaolHXhyA-1; Thu, 21 Aug 2025 16:07:20 -0400 X-MC-Unique: yjuVMIiUPqW6ldaolHXhyA-1 X-Mimecast-MFC-AGG-ID: yjuVMIiUPqW6ldaolHXhyA_1755806839 Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-45a1b05b15eso10515455e9.1 for ; Thu, 21 Aug 2025 13:07:20 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755806839; x=1756411639; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=iU84NUWejaBSUFBs/T0/O04YrYLlq1RcxZMywEFGjU0=; b=DQjnGtQQASKLHFjyXmDo+jAEZ4eSf0aZf0QG57KsoF0lWv2JIMDou/e2FAy/8bKAIK 312AbljMtvQv1d4ShDNt8tzr0t+d3u3bR/WCXonQJ2JLSjhlMuKkLlAsJcG1CozUairN Ipfi+zfvqglVGvhJWZiFdg5HXHEUWI9c9xT5Lc/YiQ0SW7lWsPLp7yH4oY9EtSztNEa1 zeZpBEB/dkSxrVi8h64rBd9cZJu51V3vTgem5Zhisviqc4U8JT+BDfC0VYbmo3DmzdCo +OaLY06UtkkOOf+bGJItzKFu8G3HhWiYz8Jx3o+a0BWrMA5TpUgGePDS2Y+/iw+Kz3Fm FStw== X-Gm-Message-State: AOJu0YxIEJ8NBntzBIFX0ZczRqhlfqR5eUHpNFBeho2IEVENX3HEm7/n QzpX5312SkCHw3nXc4J14gNEstOEhC23Ceuhfcxg2Op08w2o/LlxqPVwxVB5OaWHEmBIsoqYMbq OPqwy3lmGWaFR6Pq4KBsVN1Me1SVlZSs5NB3WG2dHBn89TwrsttnCiIQP5B385947l4S2TMWieL eYDBnUBm1FtLa758kFil+cFSvdzAKnO6NUQaWzzOy5pqTytLiQ X-Gm-Gg: ASbGncsDV0a+/1XCba2Xv2/Jx+bUdzKoG7PTFfiARW0ibJPR5o9TyQGUE+96u3APMtS KegEQWR8puFzojQg08HwjBSehHm+RB/LcYvU+jRbP3VF4PvpamV7RIWG387jbr9oU3D7YxX3Ibn 0WZY1j2+JccYbn+EyaL5AqQFow1sK4moBUtkWeN8OfOQMFvNZRjya/eqHqizECoIz60qG69UuQy AZH9rZFj1cuvSXh4SWjpkF9lyNQnm0PukDgpMxMo5D8IuRAJpf3gaOSWft5eVAAjehSrB34dvEy LRjMJ7ZX/SzKYKlzxkAbsk2riUNr2MAIsoclB0dxk4I2jM2Pzvd2GzEW4AMhSSthqlPhlOTMH9I O5hfEqr0mAM0nI5D1kX697Q== X-Received: by 2002:a05:600c:1f95:b0:459:db80:c2ce with SMTP id 5b1f17b1804b1-45b51799428mr2845895e9.7.1755806839135; Thu, 21 Aug 2025 13:07:19 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHMhnqxttMNkrL8PAxIX9Mfq64uKkvY2MjzJ39LtAH2Yg7PxwVl8kOZ6CXLaaMF5rYTxrWwyA== X-Received: by 2002:a05:600c:1f95:b0:459:db80:c2ce with SMTP id 5b1f17b1804b1-45b51799428mr2845125e9.7.1755806838506; Thu, 21 Aug 2025 13:07:18 -0700 (PDT) Received: from localhost (p200300d82f26ba0008036ec5991806fd.dip0.t-ipconnect.de. [2003:d8:2f26:ba00:803:6ec5:9918:6fd]) by smtp.gmail.com with UTF8SMTPSA id 5b1f17b1804b1-45b50dea2b9sm8988005e9.15.2025.08.21.13.07.16 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 21 Aug 2025 13:07:18 -0700 (PDT) From: David Hildenbrand To: linux-kernel@vger.kernel.org Cc: David Hildenbrand , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , Alexander Potapenko , Andrew Morton , Brendan Jackman , Christoph Lameter , Dennis Zhou , Dmitry Vyukov , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, iommu@lists.linux.dev, io-uring@vger.kernel.org, Jason Gunthorpe , Jens Axboe , Johannes Weiner , John Hubbard , kasan-dev@googlegroups.com, kvm@vger.kernel.org, "Liam R. Howlett" , Linus Torvalds , linux-arm-kernel@axis.com, linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-ide@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mips@vger.kernel.org, linux-mmc@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, Lorenzo Stoakes , Marco Elver , Marek Szyprowski , Michal Hocko , Mike Rapoport , Muchun Song , netdev@vger.kernel.org, Oscar Salvador , Peter Xu , Robin Murphy , Suren Baghdasaryan , Tejun Heo , virtualization@lists.linux.dev, Vlastimil Babka , wireguard@lists.zx2c4.com, x86@kernel.org, Zi Yan Subject: [PATCH RFC 04/35] x86/Kconfig: drop superfluous "select SPARSEMEM_VMEMMAP" Date: Thu, 21 Aug 2025 22:06:30 +0200 Message-ID: <20250821200701.1329277-5-david@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250821200701.1329277-1-david@redhat.com> References: <20250821200701.1329277-1-david@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Now handled by the core automatically once SPARSEMEM_VMEMMAP_ENABLE is selected. Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Borislav Petkov Cc: Dave Hansen Signed-off-by: David Hildenbrand Reviewed-by: Mike Rapoport (Microsoft) --- arch/x86/Kconfig | 1 - 1 file changed, 1 deletion(-) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 58d890fe2100e..e431d1c06fecd 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -1552,7 +1552,6 @@ config ARCH_SPARSEMEM_ENABLE def_bool y select SPARSEMEM_STATIC if X86_32 select SPARSEMEM_VMEMMAP_ENABLE if X86_64 - select SPARSEMEM_VMEMMAP if X86_64 =20 config ARCH_SPARSEMEM_DEFAULT def_bool X86_64 || (NUMA && X86_32) --=20 2.50.1 From nobody Sat Oct 4 00:27:00 2025 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F3FD536999F for ; Thu, 21 Aug 2025 20:07:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806847; cv=none; b=a8c8csWQoLrlzxzgP5lv25lExSSaqDwHLFV3peW+CfkNrTP7h8ABp9nez+ZlkIYYsqL/wv2lD9Q/62ZphvHQrFA8VB6qHDYEthAhUkZV4lyTw9s/LKmn+y/VxJ5lvNEhVJ/uMxVI7vdho1/vsK/DfblFsq5vm0tQgz2vK2WbgdQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806847; c=relaxed/simple; bh=vLP4m8ubY62ddowshnJEYGhNc+fB41I1n0umGIUlXAI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=s9U0zMnsp40ehzkCYGc0ZRssgm4gu21ZZOPJJFptLn1CkCewNCTpRVnERrRE9LeSSbDc0KR/Z4GVaVrayrmt+2h8A4QP/a1e476dskkMdMHKjxDl+mybEPIH9tuORlteXCif7QV5a/ybSEO7qHZsxu0HQ4MvVgDAeuodO1MpgbU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=T2b9wZzk; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="T2b9wZzk" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1755806845; 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: in-reply-to:in-reply-to:references:references; bh=aOl+Pd7m6DQCTUATshUDhXjEbKNtUx8aQQ0CVjE/d9w=; b=T2b9wZzkC/xtgKn0ukr1t3QPXzSS8koSErP70VVlBJTnOOS6+oUpk4YqREoCKecgtdFRIx kGW2IIM/tgsuWykBgbG17G0j4gTen4UC+bNsSqM6/3hdTCdVEEjGP6KqUCVvLPRcpMl4xM kkKGre4Sb/rfgzVn3cYIqgkm329u0Nk= Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-589-5WjfUbBpNiq0eP4rGdTDvA-1; Thu, 21 Aug 2025 16:07:23 -0400 X-MC-Unique: 5WjfUbBpNiq0eP4rGdTDvA-1 X-Mimecast-MFC-AGG-ID: 5WjfUbBpNiq0eP4rGdTDvA_1755806842 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-45a1b0b6466so9581325e9.2 for ; Thu, 21 Aug 2025 13:07:22 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755806842; x=1756411642; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=aOl+Pd7m6DQCTUATshUDhXjEbKNtUx8aQQ0CVjE/d9w=; b=qsiEB2k1BYx8uOS2RSUy2iNqlA4vzRUiC8f/RqY2D/moNAu6Fa9N5I9dpNmjTpXtxG 6hG4X48ZM+/X+kLqucA/C4W9ym4/Y2ItbHrXT6sWzVUddNFbBNoFKU4FxYTz0KVL11dM t9cK6At7C3YM1J5TS49xeU2BNqztCefAs2Co8cF4mDor6XwMSZhKWiqk/f1Z+0W19iim DUhiGtOK7hF/9rgzyqxtkUKzNvlSIcZqlXmHcrt49ob4PpYDsBVxNmBphQBO/k8IvwvT XMKyjV85nhYHHV9mcZU3+enEx4J8LsRHcIGC/+YHILoZyYiRCF5covUPyXGH/5OYrJiT NctQ== X-Gm-Message-State: AOJu0YyAF/bmguPvPlrsMmxteXWSHxWof930xKschYSQApperMbE5ATj EhvEz37Zq4VzoLavRoAOtE76gvrJGVueIPjqNtABaVh+pdEe4xAryPEl2DDLNHA5lSlupDG8+0d Ng9pfkzpOEp6Jjg5M1OwW6MllOEp3NAPp4K124kfKK9XOoCG91U5421HDcBNlIXJ/7qN4adOfBD loQNm+ZiDeF7qDn5HxH930PuppPOgyK72lmewL+vytQYcbzQ2x X-Gm-Gg: ASbGncsbHOlh08fQK6vvDRMqBrdhinlGqAZUFYEl/+xD5ru30IGy64gEe+d97fY3DkG mNBlKePXgRyHNLQTqS1dKAtp3Oe3Hy4w8oGasT+eAWmxUvB6SUmZp2iPdwDmgJN2Jmr3lBpteGh MHIptkR2OX/7ExcRVqJpOLp1YFvRNgCIhG0dkAQC2DYliESXfcoJPcQ0feoR2srEEcISgzRnaBP CsahmuM3JbnLiEZMGGYYEHrpsJn472ZGcdLET/PSQ4ZN3Dgp4BjCY+vVpgS0FlsQ9zKY+MSqpuf Lf1OJ//B0bsrOeMi+h0WPeNUzaUYBl36tshUYZ0ZG0jnZO4bJ4ysG/10it8G54Eoby7ackm/ywP 4ZgvlaChUi0eTk+VY/f8zMw== X-Received: by 2002:a05:600c:1993:b0:456:e39:ec1a with SMTP id 5b1f17b1804b1-45b517ad4a9mr2412925e9.14.1755806841854; Thu, 21 Aug 2025 13:07:21 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHtBnzBdejX2oNj8vG9iZBZKJew+pPrkGWxHzVnhFEnb5RkXIsj+cBFTtJrIXnzr/4lYhSU+w== X-Received: by 2002:a05:600c:1993:b0:456:e39:ec1a with SMTP id 5b1f17b1804b1-45b517ad4a9mr2412295e9.14.1755806841198; Thu, 21 Aug 2025 13:07:21 -0700 (PDT) Received: from localhost (p200300d82f26ba0008036ec5991806fd.dip0.t-ipconnect.de. [2003:d8:2f26:ba00:803:6ec5:9918:6fd]) by smtp.gmail.com with UTF8SMTPSA id 5b1f17b1804b1-45b50dc00a8sm10960275e9.1.2025.08.21.13.07.19 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 21 Aug 2025 13:07:20 -0700 (PDT) From: David Hildenbrand To: linux-kernel@vger.kernel.org Cc: David Hildenbrand , "Jason A. Donenfeld" , Shuah Khan , Alexander Potapenko , Andrew Morton , Brendan Jackman , Christoph Lameter , Dennis Zhou , Dmitry Vyukov , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, iommu@lists.linux.dev, io-uring@vger.kernel.org, Jason Gunthorpe , Jens Axboe , Johannes Weiner , John Hubbard , kasan-dev@googlegroups.com, kvm@vger.kernel.org, "Liam R. Howlett" , Linus Torvalds , linux-arm-kernel@axis.com, linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-ide@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mips@vger.kernel.org, linux-mmc@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, Lorenzo Stoakes , Marco Elver , Marek Szyprowski , Michal Hocko , Mike Rapoport , Muchun Song , netdev@vger.kernel.org, Oscar Salvador , Peter Xu , Robin Murphy , Suren Baghdasaryan , Tejun Heo , virtualization@lists.linux.dev, Vlastimil Babka , wireguard@lists.zx2c4.com, x86@kernel.org, Zi Yan Subject: [PATCH RFC 05/35] wireguard: selftests: remove CONFIG_SPARSEMEM_VMEMMAP=y from qemu kernel config Date: Thu, 21 Aug 2025 22:06:31 +0200 Message-ID: <20250821200701.1329277-6-david@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250821200701.1329277-1-david@redhat.com> References: <20250821200701.1329277-1-david@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" It's no longer user-selectable (and the default was already "y"), so let's just drop it. Cc: "Jason A. Donenfeld" Cc: Shuah Khan Signed-off-by: David Hildenbrand Acked-by: Mike Rapoport (Microsoft) --- tools/testing/selftests/wireguard/qemu/kernel.config | 1 - 1 file changed, 1 deletion(-) diff --git a/tools/testing/selftests/wireguard/qemu/kernel.config b/tools/t= esting/selftests/wireguard/qemu/kernel.config index 0a5381717e9f4..1149289f4b30f 100644 --- a/tools/testing/selftests/wireguard/qemu/kernel.config +++ b/tools/testing/selftests/wireguard/qemu/kernel.config @@ -48,7 +48,6 @@ CONFIG_JUMP_LABEL=3Dy CONFIG_FUTEX=3Dy CONFIG_SHMEM=3Dy CONFIG_SLUB=3Dy -CONFIG_SPARSEMEM_VMEMMAP=3Dy CONFIG_SMP=3Dy CONFIG_SCHED_SMT=3Dy CONFIG_SCHED_MC=3Dy --=20 2.50.1 From nobody Sat Oct 4 00:27:00 2025 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9A4A92C0286 for ; Thu, 21 Aug 2025 20:07:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806850; cv=none; b=oU6qxsGuV4mtG1RMb20jhK25k0VZSbGpd5+o65Cz/fWMCbjuBxswKFOynsCAK9vlI54HuftigqLwjl81eJYWPzCoAooHpgWyC0kGUAOIzL/Rs1THGrsu1ixvEOTXwHNzJv/xuk0SRfpWnMw+tXatKwIJ7xiH9L6aRUhQBXcVn/Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806850; c=relaxed/simple; bh=hFKonsreRzgICf2+ZQw2cwOexdUd6KjiPB+Q505LSVk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=uv2Aw7EEFrJlBiMTpLcg/7wlPPAHJ96PSWBI934886JdhOnQkENS0SkLJn2H0Ber08f15XrWHeqeK+vasIrlVHwTKs2VCju48j7KYXFYqCCkhHvswPKWtv6vqyaxgqfU9rDwyIgN/wC/B+n2JamDnPtDnio8gYYxDWt9eU5s+Ko= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=hqj+QMG7; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="hqj+QMG7" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1755806847; 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: in-reply-to:in-reply-to:references:references; bh=saIpwl0G6zoDDZA6kqzaAKGDHCkLp/ivw/dNNi90asQ=; b=hqj+QMG79ODfG4eUbMrHzgLHZfYNM/YAniUug5TXi1+i/7DKQZq93AAcmXZQlOeTnSVZUM Qofd/lVCMsCQS7i+Eabxscm0itwYLvDU3v89as6lK/AG2vL3frU+va5WPqmCGA/kPBaUnB oO7/wA0dWp1Dc9jvDbdfTbTpY4sJlQI= Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-122-vQT_Db0bMq-bmMJa1FaUTA-1; Thu, 21 Aug 2025 16:07:25 -0400 X-MC-Unique: vQT_Db0bMq-bmMJa1FaUTA-1 X-Mimecast-MFC-AGG-ID: vQT_Db0bMq-bmMJa1FaUTA_1755806845 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-45a1ba17bbcso7094485e9.0 for ; Thu, 21 Aug 2025 13:07:25 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755806845; x=1756411645; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=saIpwl0G6zoDDZA6kqzaAKGDHCkLp/ivw/dNNi90asQ=; b=uGo32qhYtC5hzhIrJ0c13ohJb/ACZpUkOowcHnisX8p3BSHKAJ5Tqvm8UuhjpKhQ1s AZSWC1fG5QzMkNmXf+d8MoTQozZD2WzOVCeGsAinbTtJUbYCTDLimHRIinA4HXbKbnJp bQM1/+iAN2aQvd8ZX3RkLy73dnC+wpQGKXf2WV5O5OrARfPcTTmsjm99Vx6nnSZZy2xZ ZLT3OTS403HDKlP8wGIlbWp+gF7fXjLbUbi7JUdqFAhk1f141KSV/BkD6nZSZmhGuAZh KBhypbcBvUTUY7W36mZGPijhGXrLolo5rmcS6xT9fuCO95mQLhwkk+oPFp/ZqYyByy1g hswQ== X-Gm-Message-State: AOJu0YwH+be32QARTm1VOfYbdOLtbKl7PUMGWpNKcbbwYZwFrovAc6Kv Qwis1V1Oy0t0zVMRb1rH5/Hj408I1ndAY4ODND6mo9xeENK/qKC/qVUdj8OKc+HZ2R54asI8sYu 7sGwqwnJZZ8J2Cu09Togv3wuIG6YN9k5y/wxTCUVM0QcvrxppJMDcHdGq3NUtwDHsW2hk3iSuGI a47QXPF6qSK15h4qVhULTz1pF/LpNPBfeOgdAybPC588jW3OT9 X-Gm-Gg: ASbGncungCsKXNbTaBp7Ihr1oUgtSysn+EeWmEwlQF5uPLXtT8Ug0huJpcZSC76QNfv uV6EKsVCP/mlPQzlgF8cue0yPf72X//0NFdfVL/iw4AB2IcJb7yICULyIJnBZ/Bd+ZlpIn8n27O LCKDKUXsFjrOT6I7o/12+8iCBtV8xvF+mxxTvA0xibRIbyDhLzc9dLgRk9iMm5SsgjPjieEwZbd qZTfJBbD9VvHyET0kdrhzB0njEAA5gHxtHZUn+xDphw2Lyl6hgDNNEE47+FmiO9aD16tdjvBwlK 7K+7RjfYkyqPuE+t9fcNb7nor5e9PIjvEUAOK1MZCQWOt6AVy3ali8bZpLgiFjwlzALikmm7NwV /pOl7Ue0imqoLhpIXkyHVFw== X-Received: by 2002:a05:600c:35c3:b0:456:285b:db3c with SMTP id 5b1f17b1804b1-45b5178e768mr3050475e9.3.1755806844609; Thu, 21 Aug 2025 13:07:24 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFwjTyvRglWWHHllkR7aRLdEFYS2lmKXV2DYH9bn4L7+YG6UNdB0HbBuiJbZZ1vy18QyYWFNg== X-Received: by 2002:a05:600c:35c3:b0:456:285b:db3c with SMTP id 5b1f17b1804b1-45b5178e768mr3049835e9.3.1755806844048; Thu, 21 Aug 2025 13:07:24 -0700 (PDT) Received: from localhost (p200300d82f26ba0008036ec5991806fd.dip0.t-ipconnect.de. [2003:d8:2f26:ba00:803:6ec5:9918:6fd]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-3c074e38d65sm12980909f8f.27.2025.08.21.13.07.22 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 21 Aug 2025 13:07:23 -0700 (PDT) From: David Hildenbrand To: linux-kernel@vger.kernel.org Cc: David Hildenbrand , Alexander Potapenko , Andrew Morton , Brendan Jackman , Christoph Lameter , Dennis Zhou , Dmitry Vyukov , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, iommu@lists.linux.dev, io-uring@vger.kernel.org, Jason Gunthorpe , Jens Axboe , Johannes Weiner , John Hubbard , kasan-dev@googlegroups.com, kvm@vger.kernel.org, "Liam R. Howlett" , Linus Torvalds , linux-arm-kernel@axis.com, linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-ide@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mips@vger.kernel.org, linux-mmc@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, Lorenzo Stoakes , Marco Elver , Marek Szyprowski , Michal Hocko , Mike Rapoport , Muchun Song , netdev@vger.kernel.org, Oscar Salvador , Peter Xu , Robin Murphy , Suren Baghdasaryan , Tejun Heo , virtualization@lists.linux.dev, Vlastimil Babka , wireguard@lists.zx2c4.com, x86@kernel.org, Zi Yan Subject: [PATCH RFC 06/35] mm/page_alloc: reject unreasonable folio/compound page sizes in alloc_contig_range_noprof() Date: Thu, 21 Aug 2025 22:06:32 +0200 Message-ID: <20250821200701.1329277-7-david@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250821200701.1329277-1-david@redhat.com> References: <20250821200701.1329277-1-david@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Let's reject them early, which in turn makes folio_alloc_gigantic() reject them properly. To avoid converting from order to nr_pages, let's just add MAX_FOLIO_ORDER and calculate MAX_FOLIO_NR_PAGES based on that. Signed-off-by: David Hildenbrand Acked-by: SeongJae Park --- include/linux/mm.h | 6 ++++-- mm/page_alloc.c | 5 ++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h index 00c8a54127d37..77737cbf2216a 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2055,11 +2055,13 @@ static inline long folio_nr_pages(const struct foli= o *folio) =20 /* Only hugetlbfs can allocate folios larger than MAX_ORDER */ #ifdef CONFIG_ARCH_HAS_GIGANTIC_PAGE -#define MAX_FOLIO_NR_PAGES (1UL << PUD_ORDER) +#define MAX_FOLIO_ORDER PUD_ORDER #else -#define MAX_FOLIO_NR_PAGES MAX_ORDER_NR_PAGES +#define MAX_FOLIO_ORDER MAX_PAGE_ORDER #endif =20 +#define MAX_FOLIO_NR_PAGES (1UL << MAX_FOLIO_ORDER) + /* * compound_nr() returns the number of pages in this potentially compound * page. compound_nr() can be called on a tail page, and is defined to diff --git a/mm/page_alloc.c b/mm/page_alloc.c index ca9e6b9633f79..1e6ae4c395b30 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -6833,6 +6833,7 @@ static int __alloc_contig_verify_gfp_mask(gfp_t gfp_m= ask, gfp_t *gfp_cc_mask) int alloc_contig_range_noprof(unsigned long start, unsigned long end, acr_flags_t alloc_flags, gfp_t gfp_mask) { + const unsigned int order =3D ilog2(end - start); unsigned long outer_start, outer_end; int ret =3D 0; =20 @@ -6850,6 +6851,9 @@ int alloc_contig_range_noprof(unsigned long start, un= signed long end, PB_ISOLATE_MODE_CMA_ALLOC : PB_ISOLATE_MODE_OTHER; =20 + if (WARN_ON_ONCE((gfp_mask & __GFP_COMP) && order > MAX_FOLIO_ORDER)) + return -EINVAL; + gfp_mask =3D current_gfp_context(gfp_mask); if (__alloc_contig_verify_gfp_mask(gfp_mask, (gfp_t *)&cc.gfp_mask)) return -EINVAL; @@ -6947,7 +6951,6 @@ int alloc_contig_range_noprof(unsigned long start, un= signed long end, free_contig_range(end, outer_end - end); } else if (start =3D=3D outer_start && end =3D=3D outer_end && is_power_o= f_2(end - start)) { struct page *head =3D pfn_to_page(start); - int order =3D ilog2(end - start); =20 check_new_pages(head, order); prep_new_page(head, order, gfp_mask, 0); --=20 2.50.1 From nobody Sat Oct 4 00:27:00 2025 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AE1202D7DD1 for ; Thu, 21 Aug 2025 20:07:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806852; cv=none; b=iyU3EP3QolChRLf4l4QaJUoxaHEXDNAtEfGFOgYD5/nqsotoAE+/KbpR+3iTbrBIdcwlJ2UaB2lSNtpJChBJnY0LYEcCUhe6dvrynlHFUNgOdWwort27rs2+QEhUhL4RkAiW0sd9WPMHMUM4aBliCuQ84JtTDY69nQmKDH4hhwo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806852; c=relaxed/simple; bh=s79Oeg502W4xdw3NRVnr9AKhHVyvkgzn8FY1ksnzdKY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=T3T/UcEWysTvbBzR4o8VClU7V/QL/Cjubm6KmCEevIdEBdgc9o+qEsvLuHvpjt5hUa2YJ5wwIXxuZak4aU6hTwmbtgo7iU1XO/LCvquEGg9nvFp40CWv19hqJTFrHquIktMlRDG8yAj1Xznu5WHXzVMcHSbJBGHaibCu+xlymnw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=SnpsrlZn; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="SnpsrlZn" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1755806849; 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: in-reply-to:in-reply-to:references:references; bh=A9Znt0atqEjtEUkbTSfKRsvBJ9rEcbnqI7Kn1XkJSrA=; b=SnpsrlZnCr7yPr+yQE8LfuUz+2vDG6lLH3Xny9FDUfVZrO4sltcf69/70Knd3TTLcwOvG/ FEGkLYB11/LkSWEDiP+FFWGTaFA/OE1wYi+1/dD2q6GfeChypC4oun8Ho6uMpmG8/E+hMs VbXi9mPrN2A6lPttujgXBk3iZj8aRUE= Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-37-_2rLgeUlNW6jISX6w1QpRQ-1; Thu, 21 Aug 2025 16:07:28 -0400 X-MC-Unique: _2rLgeUlNW6jISX6w1QpRQ-1 X-Mimecast-MFC-AGG-ID: _2rLgeUlNW6jISX6w1QpRQ_1755806847 Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-45a1b0b2b5cso10135975e9.2 for ; Thu, 21 Aug 2025 13:07:28 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755806847; x=1756411647; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=A9Znt0atqEjtEUkbTSfKRsvBJ9rEcbnqI7Kn1XkJSrA=; b=kbug88BOwN9pperRrL36z0tSms4CwUuYolYAxvKHZlKyFkaZEStbxX6BqQP1djm+gB ZK2arQOoPVnSGuQx5Jq6xpd902Qm6b6frEdlj5Ul9NBySyjxxwwMKtI7B9TO4nvTAup7 cBFNZd1rap7LsZJrY1b1KpdcoMx5LscVbX5O2+6dZlCoZWQKOASbJyTEl4JqXzom/oXG YS7LpHC/5DkUyPh/WLbKo62+Ix668xtvfqMLhvUyPONO38SSESseS1EzMoUylqkMr6eZ OKzYOn25S8G5HgRnwXY6nEPdvQ6fNm6eE2zPWI6fwB4pYD4Q850pZGSNc/mmF8LBomgB BQIA== X-Gm-Message-State: AOJu0YzZV5Jld/+RDzHJXNk8Zuhyq4b6qBtchj8nuNACywEOZLwWHyNN hJYVO8FIjOoSabs/LanX2WsiCLxedkR8iVMAqEe4WC7/8OB9Vc89WZptPwTiHChswkYWr7dMeKG i7rs6UCzGFhPHaGv3+tw0629WGQU7XRuH/G1X3Qwol1Zc1srMn8bjBAVt8y6VB17geKzJrHOaeo fAaj5JT8ZAgkt58FqVA1cNQUdjP2gz9CVix7vTq3DCWPn1VvMd X-Gm-Gg: ASbGncukwR1LK11eKhYdfpEDIBtdPFOwgTMmmWSTHp3jOid9FvjzufQKNghczbcVx6w uLHrLIi7UFZQAjA8CD51L7qrC4BW2/S4o+xIjpPy06Ki6QU2FJDRWFaVfQEvZcZ+VzHz53Ko6tH rtb/MeEoRi5M1up9Zo/0hncxQoiZAcXEbDCFKixRTgPxf1bZ7IS413N4f5cPYr4a/f2jLyO6dD+ hExrvVHbv2sKN6k4WQsBcRjDsvyznDoYDZCSBi5Mtaws5yAASd2maW8hAKnNmCWdIK6vpATQ3Qq IKJcSuPrEzcbDihNvZ92tggECIyFnz8Hv48pyDyISRjgB3T1YPFFPnYI6LXVPuPFleb1NiZQhuZ /L8XlID9g2p6iPdWBVt+KDQ== X-Received: by 2002:a05:600c:3552:b0:459:dde3:1a33 with SMTP id 5b1f17b1804b1-45b517d26d4mr2922455e9.26.1755806847302; Thu, 21 Aug 2025 13:07:27 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGUeapMM5JkcwJNJXC+LM6ICHu4lGUEF2ir46AAuHXhYXAFzTcPIdec/q/lplZD/isU7mGEgg== X-Received: by 2002:a05:600c:3552:b0:459:dde3:1a33 with SMTP id 5b1f17b1804b1-45b517d26d4mr2921795e9.26.1755806846742; Thu, 21 Aug 2025 13:07:26 -0700 (PDT) Received: from localhost (p200300d82f26ba0008036ec5991806fd.dip0.t-ipconnect.de. [2003:d8:2f26:ba00:803:6ec5:9918:6fd]) by smtp.gmail.com with UTF8SMTPSA id 5b1f17b1804b1-45b50d62991sm9535385e9.0.2025.08.21.13.07.24 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 21 Aug 2025 13:07:26 -0700 (PDT) From: David Hildenbrand To: linux-kernel@vger.kernel.org Cc: David Hildenbrand , Alexander Potapenko , Andrew Morton , Brendan Jackman , Christoph Lameter , Dennis Zhou , Dmitry Vyukov , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, iommu@lists.linux.dev, io-uring@vger.kernel.org, Jason Gunthorpe , Jens Axboe , Johannes Weiner , John Hubbard , kasan-dev@googlegroups.com, kvm@vger.kernel.org, "Liam R. Howlett" , Linus Torvalds , linux-arm-kernel@axis.com, linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-ide@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mips@vger.kernel.org, linux-mmc@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, Lorenzo Stoakes , Marco Elver , Marek Szyprowski , Michal Hocko , Mike Rapoport , Muchun Song , netdev@vger.kernel.org, Oscar Salvador , Peter Xu , Robin Murphy , Suren Baghdasaryan , Tejun Heo , virtualization@lists.linux.dev, Vlastimil Babka , wireguard@lists.zx2c4.com, x86@kernel.org, Zi Yan Subject: [PATCH RFC 07/35] mm/memremap: reject unreasonable folio/compound page sizes in memremap_pages() Date: Thu, 21 Aug 2025 22:06:33 +0200 Message-ID: <20250821200701.1329277-8-david@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250821200701.1329277-1-david@redhat.com> References: <20250821200701.1329277-1-david@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Let's reject unreasonable folio sizes early, where we can still fail. We'll add sanity checks to prepare_compound_head/prepare_compound_page next. Is there a way to configure a system such that unreasonable folio sizes would be possible? It would already be rather questionable. If so, we'd probably want to bail out earlier, where we can avoid a WARN and just report a proper error message that indicates where something went wrong such that we messed up. Signed-off-by: David Hildenbrand Acked-by: SeongJae Park --- mm/memremap.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mm/memremap.c b/mm/memremap.c index b0ce0d8254bd8..a2d4bb88f64b6 100644 --- a/mm/memremap.c +++ b/mm/memremap.c @@ -275,6 +275,9 @@ void *memremap_pages(struct dev_pagemap *pgmap, int nid) =20 if (WARN_ONCE(!nr_range, "nr_range must be specified\n")) return ERR_PTR(-EINVAL); + if (WARN_ONCE(pgmap->vmemmap_shift > MAX_FOLIO_ORDER, + "requested folio size unsupported\n")) + return ERR_PTR(-EINVAL); =20 switch (pgmap->type) { case MEMORY_DEVICE_PRIVATE: --=20 2.50.1 From nobody Sat Oct 4 00:27:00 2025 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8EDDB2FC022 for ; Thu, 21 Aug 2025 20:07:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806857; cv=none; b=fy8bZK5hIXwVOHHTfmrRhJJkQfzVBS7o+hNXqTyGDZFgzKGL2n+yMw9z5PtyxvwRTVhAEfkpnARzGSU3pwLo+8nxojIdqvvfIH2v2rvUGXE8Dvtp1iBtJ9wz6p+X6GckIWxEprDRoKesCDL/pb1G6XTD1IPDhZDCdDSraV2mpgA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806857; c=relaxed/simple; bh=ncGz2ZUizfxPtBenqYCMYHXawyPm3K75je3+1YWzFIk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=P83/qfUSgpjBP9lT1ExrzRSQM7sAZnb062wLnYek9KSASJr27JNc1k0eCGGj7HgFk1b1NDYUfM770yEj4Z5WwU0zSNH8HENuyR54FwC0WzkObaJ6jGcrrJpwt+Me+WoUIcCY0aul5fGR74dA2167CjrSkyn8TlW92SWUeOvXxzI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=UIjsyfEV; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="UIjsyfEV" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1755806854; 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: in-reply-to:in-reply-to:references:references; bh=G9hzYOZv6YXUN4v1wicJ53nqMhopJDezqYU76J2buLg=; b=UIjsyfEV7qy2FTtz8UFmUG7I29Rb0nWBVva+fIKfoFPP6s7+61Cxi5SZPooIbzNOG4q4kI nBcVkIIFucHEaRKucUVGRwZ4PMu2gowRW25DuD9JelcP0s2kOUvrQH3A31dzAmk6M99L0p zv8f8tUpRmXp0s0rYpX0mmMRsVeqBDA= Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-266-iHVNpiEHPrWR-Fz7NdikEA-1; Thu, 21 Aug 2025 16:07:31 -0400 X-MC-Unique: iHVNpiEHPrWR-Fz7NdikEA-1 X-Mimecast-MFC-AGG-ID: iHVNpiEHPrWR-Fz7NdikEA_1755806850 Received: by mail-wm1-f71.google.com with SMTP id 5b1f17b1804b1-45a1b05a59cso9773875e9.1 for ; Thu, 21 Aug 2025 13:07:31 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755806850; x=1756411650; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=G9hzYOZv6YXUN4v1wicJ53nqMhopJDezqYU76J2buLg=; b=cADB0yL0twAni4kgZfsng3fNDTY0xUEtvJkJvmZTnJQ2dhk4HRbv9eo/+I4dp22FUf H2XiVvUONhNeV8NgbKUFWhR7c7FHgjmWF+q9Pm0GTaXm0z9ewSDJCuHMXbfeNplGTjEF oeXWynBvVToJ5ECEqGcAmYAztZXCf0x2Uz1XCrNlOom3T7xtrbsVOxKoFYOzp5BsE0Sa EsQD7aHQ3ys0wnlPoMuTsXoS7V6Sh4XrcsYamsTLJbcCm7RayCVjKGiZnqCGTVQ5uglU 4aRwdC1phpirCZv5o/IUh/Z7x2qK99FyI6j0d7LsZrq/vxmziXtLa7AGwk8y0dbjhp2C 0o4A== X-Gm-Message-State: AOJu0YxJucdy6HxOgIr802KwWpGtScJ+cC6IxZFDdl6PakhSDiCh/nC9 OTbiwLgcdXdWCN06jFVm7D9tR4l/seZusVk5mdZqXEaixpMluKqU3Q5R/2kiXneiUbjeXaH2Ols 2SMpUTiyCVDfDT4L8pVmG1645v8xwlcDJxjDBJkLGOtI55UzokvAlhZT5yzlXtQtlvGziiuW+nz U95HDn1PpOMt7Xnqv1QuVk+wBmckW8CpX5qUVH8YpeV/RYK+BG X-Gm-Gg: ASbGncsAiyRy1XyOQKhOcNhnKYpjUzqDT4M7DgpLpE6fahfAfHgm0c0RQc7rHf/mFOX +uUrGy/lHJKZT2j5BdFXtyZyC/LaTn7ANFKrNp5SBwba127sV5H8T14uQGaB/i33pKwtp10ePdw 48+1PtGP44TDgRobAdx0vtnLwtD9lljGHnBQEXJq+XgsSb92x3dPIg7v1SeelAHJPHch6fEVQd3 6NMJJUwxU1JxlRlaWkAyLSM/15Ob+4QaRwUGc1zLt8lT90c4ySnDJSf/bSg5r5Qm9kRTHLNPQck LsNL4V35H+Ah7/M7e4hmpIefB7xBzYPSyKtEgrJgJHCGpSnmvKbW9kL0fqlDL5sCw/MDZHqRcbp dAE1vXQi7zKQymiFSxjiCqw== X-Received: by 2002:a05:600c:1548:b0:459:dfde:3329 with SMTP id 5b1f17b1804b1-45b517ddbe2mr2956285e9.31.1755806850217; Thu, 21 Aug 2025 13:07:30 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHPNoTdvVqQJqQwQf/z0aFpcDb/7HunF1Y6KwbAqmFFF4D3cnAaKEmAnoGbjwE6N5eIepmoyw== X-Received: by 2002:a05:600c:1548:b0:459:dfde:3329 with SMTP id 5b1f17b1804b1-45b517ddbe2mr2955545e9.31.1755806849496; Thu, 21 Aug 2025 13:07:29 -0700 (PDT) Received: from localhost (p200300d82f26ba0008036ec5991806fd.dip0.t-ipconnect.de. [2003:d8:2f26:ba00:803:6ec5:9918:6fd]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-3c3a8980ed5sm7242256f8f.16.2025.08.21.13.07.27 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 21 Aug 2025 13:07:29 -0700 (PDT) From: David Hildenbrand To: linux-kernel@vger.kernel.org Cc: David Hildenbrand , Alexander Potapenko , Andrew Morton , Brendan Jackman , Christoph Lameter , Dennis Zhou , Dmitry Vyukov , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, iommu@lists.linux.dev, io-uring@vger.kernel.org, Jason Gunthorpe , Jens Axboe , Johannes Weiner , John Hubbard , kasan-dev@googlegroups.com, kvm@vger.kernel.org, "Liam R. Howlett" , Linus Torvalds , linux-arm-kernel@axis.com, linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-ide@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mips@vger.kernel.org, linux-mmc@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, Lorenzo Stoakes , Marco Elver , Marek Szyprowski , Michal Hocko , Mike Rapoport , Muchun Song , netdev@vger.kernel.org, Oscar Salvador , Peter Xu , Robin Murphy , Suren Baghdasaryan , Tejun Heo , virtualization@lists.linux.dev, Vlastimil Babka , wireguard@lists.zx2c4.com, x86@kernel.org, Zi Yan Subject: [PATCH RFC 08/35] mm/hugetlb: check for unreasonable folio sizes when registering hstate Date: Thu, 21 Aug 2025 22:06:34 +0200 Message-ID: <20250821200701.1329277-9-david@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250821200701.1329277-1-david@redhat.com> References: <20250821200701.1329277-1-david@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Let's check that no hstate that corresponds to an unreasonable folio size is registered by an architecture. If we were to succeed registering, we could later try allocating an unsupported gigantic folio size. Further, let's add a BUILD_BUG_ON() for checking that HUGETLB_PAGE_ORDER is sane at build time. As HUGETLB_PAGE_ORDER is dynamic on powerpc, we have to use a BUILD_BUG_ON_INVALID() to make it compile. No existing kernel configuration should be able to trigger this check: either SPARSEMEM without SPARSEMEM_VMEMMAP cannot be configured or gigantic folios will not exceed a memory section (the case on sparse). Signed-off-by: David Hildenbrand --- mm/hugetlb.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 514fab5a20ef8..d12a9d5146af4 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -4657,6 +4657,7 @@ static int __init hugetlb_init(void) =20 BUILD_BUG_ON(sizeof_field(struct page, private) * BITS_PER_BYTE < __NR_HPAGEFLAGS); + BUILD_BUG_ON_INVALID(HUGETLB_PAGE_ORDER > MAX_FOLIO_ORDER); =20 if (!hugepages_supported()) { if (hugetlb_max_hstate || default_hstate_max_huge_pages) @@ -4740,6 +4741,7 @@ void __init hugetlb_add_hstate(unsigned int order) } BUG_ON(hugetlb_max_hstate >=3D HUGE_MAX_HSTATE); BUG_ON(order < order_base_2(__NR_USED_SUBPAGE)); + WARN_ON(order > MAX_FOLIO_ORDER); h =3D &hstates[hugetlb_max_hstate++]; __mutex_init(&h->resize_lock, "resize mutex", &h->resize_key); h->order =3D order; --=20 2.50.1 From nobody Sat Oct 4 00:27:00 2025 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 47CCA34DCEC for ; Thu, 21 Aug 2025 20:07:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806859; cv=none; b=nlM2DiIVu79aZgAGEOEEzUpNYzvjTyqWk48Z5xs3hWRCqXfQ3ZPiLTxxVZUjEthvjyEt/hbAEvgPQAHplwLprWjFNtyFN+gjKUVw+GbU1b6X+42kkfoGLS8xeajQBQs1dWBZ7WWuEOUP5eOA5gsAmNbiZJHl51B32iQb/JWyWfY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806859; c=relaxed/simple; bh=+tsaq0kMmRCBgLfPZThux65EZrTtOKARiF8G7W5lNZE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Qd28tKxyozM8amxr33A0YbptU88Wrh4/3I+4pW2ljUKaGkHjyhuxhV4LySZj/EVOPSRIVP86H1D/Go+96Rk7/NdqJ3YJQwmjPnIj/71yGkz0LS+LEIk9r0N2b8TygeqdgUFCsNbl0GaZFDAsrswpqFbaThOE0nbZHDe138a5hb0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=RC9GhAy0; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="RC9GhAy0" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1755806856; 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: in-reply-to:in-reply-to:references:references; bh=r/kmddABpvZJu5K+QD662cz6jOGE1r8xokeQdlRgepQ=; b=RC9GhAy0Ari/wIzH1+vnrQdidp8XhGEojweP+kuUlme+rPT+dy2a+yPynzkKcWR7/EN9lr 2UqAKEyzOfAq94O6JNrx2jVCvfbVMWfV99uIbnEGyS0FS7Kf7fEVTQ5ea0FgM3hisUXfoP jBuX0655SWNAygvc1ZAd6brApYSgKaU= Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-27-Jp_FSeGCO3C87tSoisWHcQ-1; Thu, 21 Aug 2025 16:07:34 -0400 X-MC-Unique: Jp_FSeGCO3C87tSoisWHcQ-1 X-Mimecast-MFC-AGG-ID: Jp_FSeGCO3C87tSoisWHcQ_1755806853 Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-3b9dc566cb4so996126f8f.1 for ; Thu, 21 Aug 2025 13:07:33 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755806853; x=1756411653; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=r/kmddABpvZJu5K+QD662cz6jOGE1r8xokeQdlRgepQ=; b=teFDAgfueAwnxrwbYtWpgGBE9GPqv9qPqyBm3xT9Rj51fgCuQCNl4Hu5rmhA1YjUXj LkYZX6GO6kXQUS1jq1gy2fM29i1kk36XvXcu3j4UN85P+v6Pv7dnWwzL55B7Dbqnq2jK JaWpCBh3hp6vas3ecMTUflqd65NomksdmveXa/OUAW8TtKwWMgy01hUCpC09ModNAEDr hu5dKY9S16yDc81ajreQRvQTBJLU94c+FEEvx6G7QHZjnXt5unXUdlYwHsMXUQs3WgOk mBuEMjzXNZcqcfKFNryVNfkPrE4NmNSDlESFve/QgK7D6iFPnkmLud91ueZcmmCQCNK/ Tf8g== X-Gm-Message-State: AOJu0YzxddhCo3c8ZfBH5/yrT8Trhzy9hNSI1l4tXki+JycGJknLfb9L c41DdrzVygdX0T4XW6qtTKOSTmIkCAfKyI6Z2fmL6ucVhry6hapSO39tSS62RvJeSR9Wqw0FJ+U Jg1zv95kEx4//PR2g3p+GUoOfayS2NaxsIu0rzs0jDdAVJwXo6sgjWeOO9Ap0tUDGXCZ8ADgzff 6+ii3imFaNEGdK6qs+r5KxDcmhFG1Q/h55LOmMveFzjdvegP73 X-Gm-Gg: ASbGncuhYKgXN1+h3R9LFR3yqm/NScin/w+9aCF+3+bOKv4B2TbovejTCI8Tng7c63r CcOBNGo/0Oim7nEp/qU2PRIBArk1GgbhF34sXbkJsMmU0om7T67zU+N/UPbvwt3/CNqgcM6Rm+E s8k8bgBw3ZzqC5FuOfx+v+E1ay5oKFv3PKStkNLBBHZkmyiORHMjgiBSa+U9A2XiAjyHrxF/Qsv uceL1YdkzHEfm1YzrhKWVISyGqhLJrKwPvPI8CNIBHnvn3F1i0bs74etoaKE51wPAN85/pS+mI/ D9hpapVZFvMLteTpZu+iSI0dbMehFwbKBxGDbgGjBISGt6ozzqsbxdH+mr/VpohvdrvhaMMlQVH e2Uz6P3lkV5Hsc+9mDbPpFw== X-Received: by 2002:a05:6000:2dc7:b0:3b9:15eb:6464 with SMTP id ffacd0b85a97d-3c5daefa9e0mr244725f8f.15.1755806852722; Thu, 21 Aug 2025 13:07:32 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHbqF8V2lF/CygktHxSJZNB7+pmyneW6nxhnLwTxWefpTwvecQ9FG1LkYH8lxi0WUYYPrMQFQ== X-Received: by 2002:a05:6000:2dc7:b0:3b9:15eb:6464 with SMTP id ffacd0b85a97d-3c5daefa9e0mr244660f8f.15.1755806852102; Thu, 21 Aug 2025 13:07:32 -0700 (PDT) Received: from localhost (p200300d82f26ba0008036ec5991806fd.dip0.t-ipconnect.de. [2003:d8:2f26:ba00:803:6ec5:9918:6fd]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-3c077789c92sm12629958f8f.52.2025.08.21.13.07.30 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 21 Aug 2025 13:07:31 -0700 (PDT) From: David Hildenbrand To: linux-kernel@vger.kernel.org Cc: David Hildenbrand , Alexander Potapenko , Andrew Morton , Brendan Jackman , Christoph Lameter , Dennis Zhou , Dmitry Vyukov , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, iommu@lists.linux.dev, io-uring@vger.kernel.org, Jason Gunthorpe , Jens Axboe , Johannes Weiner , John Hubbard , kasan-dev@googlegroups.com, kvm@vger.kernel.org, "Liam R. Howlett" , Linus Torvalds , linux-arm-kernel@axis.com, linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-ide@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mips@vger.kernel.org, linux-mmc@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, Lorenzo Stoakes , Marco Elver , Marek Szyprowski , Michal Hocko , Mike Rapoport , Muchun Song , netdev@vger.kernel.org, Oscar Salvador , Peter Xu , Robin Murphy , Suren Baghdasaryan , Tejun Heo , virtualization@lists.linux.dev, Vlastimil Babka , wireguard@lists.zx2c4.com, x86@kernel.org, Zi Yan Subject: [PATCH RFC 09/35] mm/mm_init: make memmap_init_compound() look more like prep_compound_page() Date: Thu, 21 Aug 2025 22:06:35 +0200 Message-ID: <20250821200701.1329277-10-david@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250821200701.1329277-1-david@redhat.com> References: <20250821200701.1329277-1-david@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Grepping for "prep_compound_page" leaves on clueless how devdax gets its compound pages initialized. Let's add a comment that might help finding this open-coded prep_compound_page() initialization more easily. Further, let's be less smart about the ordering of initialization and just perform the prep_compound_head() call after all tail pages were initialized: just like prep_compound_page() does. No need for a lengthy comment then: again, just like prep_compound_page(). Note that prep_compound_head() already does initialize stuff in page[2] through prep_compound_head() that successive tail page initialization will overwrite: _deferred_list, and on 32bit _entire_mapcount and _pincount. Very likely 32bit does not apply, and likely nobody ever ends up testing whether the _deferred_list is empty. So it shouldn't be a fix at this point, but certainly something to clean up. Signed-off-by: David Hildenbrand Reviewed-by: Mike Rapoport (Microsoft) --- mm/mm_init.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/mm/mm_init.c b/mm/mm_init.c index 5c21b3af216b2..708466c5b2cc9 100644 --- a/mm/mm_init.c +++ b/mm/mm_init.c @@ -1091,6 +1091,10 @@ static void __ref memmap_init_compound(struct page *= head, unsigned long pfn, end_pfn =3D head_pfn + nr_pages; unsigned int order =3D pgmap->vmemmap_shift; =20 + /* + * This is an open-coded prep_compound_page() whereby we avoid + * walking pages twice by initializing them in the same go. + */ __SetPageHead(head); for (pfn =3D head_pfn + 1; pfn < end_pfn; pfn++) { struct page *page =3D pfn_to_page(pfn); @@ -1098,15 +1102,8 @@ static void __ref memmap_init_compound(struct page *= head, __init_zone_device_page(page, pfn, zone_idx, nid, pgmap); prep_compound_tail(head, pfn - head_pfn); set_page_count(page, 0); - - /* - * The first tail page stores important compound page info. - * Call prep_compound_head() after the first tail page has - * been initialized, to not have the data overwritten. - */ - if (pfn =3D=3D head_pfn + 1) - prep_compound_head(head, order); } + prep_compound_head(head, order); } =20 void __ref memmap_init_zone_device(struct zone *zone, --=20 2.50.1 From nobody Sat Oct 4 00:27:00 2025 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E3B79312830 for ; Thu, 21 Aug 2025 20:07:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806860; cv=none; b=XZoAnuKt/DcXvxtR2Y5zWMpn6bSGvYb+Mmcnzkh0xACnR/BhgPCDvBdeY92rr93aYqDQ9ABarHe9xqrdx6DhWAZkFarZskoIyyddMleCXFBJadV6XPh+j9Zs54a9U0JKww1gTmrS7/ogsbuFQdU1gLRmvfJF5oXb5CSKtWAvmkI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806860; c=relaxed/simple; bh=I7luCT+CObepmsBOKpah/UXsbrY2375DH2pptgGLgo0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=unhtHRk2Fd8qK3E7OQlOzwgIOWG4bruITSf1cnMZarrzbl8yKSIUP8pFNxLdJTu2+JPHrdetF1Etb4YBRQrmLQHQGTQ7zmxLncN5dQR/css22Vcs1u/VqjiMibz5e2xV5LFJHHwCeKkIMEJ/cAJ5svvUiD8hhEAysHNJ0YmB/Dw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=QBjg2Bhf; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="QBjg2Bhf" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1755806858; 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: in-reply-to:in-reply-to:references:references; bh=fXj+9vT03G0X8fnCGUCy6hSTWwnZnWm2sdD6cJzGZDI=; b=QBjg2BhftjJevnHOBEsj4+ibihsAFLdQ1U+2jHRcTvvQ7SmM9XH9b5nfVFrPD6IScCOH4m 51K0ErMaviWRKgwZKmGr7DorYGnU8qV1rXyS1TrdAwakujJDLPA1UWv+AtH9KhQvvsPC+C +KocYzaHtZ1RU5eIhyIPTIPMO7njyzY= Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-220-qIs0tfOtOquMhQZXpnSh1Q-1; Thu, 21 Aug 2025 16:07:36 -0400 X-MC-Unique: qIs0tfOtOquMhQZXpnSh1Q-1 X-Mimecast-MFC-AGG-ID: qIs0tfOtOquMhQZXpnSh1Q_1755806855 Received: by mail-wr1-f70.google.com with SMTP id ffacd0b85a97d-3b9e4146aa2so570454f8f.2 for ; Thu, 21 Aug 2025 13:07:36 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755806855; x=1756411655; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=fXj+9vT03G0X8fnCGUCy6hSTWwnZnWm2sdD6cJzGZDI=; b=h6EOA40J7qQEVVOpYyrQfrQ/eQOGCfZQL2Q/i5GpfWMuGnjXcEbZ+PEHB0Sdpsdqg+ rBnxtcwy+RRYI9lq5TsROuzQQMiP4bqYOD3oJIhiKlJmcitE9HKHcZjdrurYfdFdy1/C 11F/oTRIpv6jl8nSSxeCu9igq3yzaxEvzsn52afdFudkg8QhUTdaC6gTTeIMPoG3Txic EvwNnQtQIn0gaRiXrox9RtcgCULe5v2N/wED2Ot1FyhyIQLFZkkLKFESo4MZWjXQhykM bg7T7Q4bALNkI/Sa9Da3oN9/hhct+RSmkdmgzLu5xxNQUq61IH86hG4Nh8UA3O9kg7b8 HNYg== X-Gm-Message-State: AOJu0YzW/dGKRBYElwiMGgi/o6pSli3062w//E4SU4jYL5ljPKGWDbZh Q6W8wo0+MMjIi+8y0LBTxwR2OKeETMySO3KF/uL7ecD1p6ol/WT26Hly5v3dIm8OMVbxOJfSviQ IeE7JW7mrzad7hGNCpgJ31kNTFTojgfcnRrg1GrNJN+CxI4UWLHtVO4mnnRiMfa9FJl9qMmIIa5 JjaYRLMZMEUAJjbOJezaBS3eBHet1N6KIaUN86geBltxQrE/3I X-Gm-Gg: ASbGncsTCimekNUsirPBSO+VdzJL1H4XLybpFFRKuF6EFo4Y5alHbeJkKUor9upY3Lz 73SlaPxe2t80owN5oE6V9nBDOpiU6L5WqLeRDxBk3dER1WuQbLPf6B8NZw0wQFsJl/XBpBimlhG lnJxPXujit13wr5KtNSCqmAtknsu8Ws96Db0j+90q/fszw9Ye0bVjxeGmAJPlrgsnukRUHwxZad QpO3dkJfG7O/+ZqvR9AnEVCnINrGMHicLD14693ZOX5kV/jW9J/y4BIwOFl8YqAptYYJKNFT5PK jM4DeHgEKkJJ2wQuLoQee6MbPlc/lmmmt5mNH3zuPoNuBl2FhcliZkZbprrw+LDGtfnYU6Vtic7 oP4Grk7hErCqjhoWm+WiFNQ== X-Received: by 2002:a05:6000:2303:b0:3b8:d893:5230 with SMTP id ffacd0b85a97d-3c5ddd7f36emr169101f8f.47.1755806855393; Thu, 21 Aug 2025 13:07:35 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGbzCbSL6MUAhNqtGz96KSex+k6XoYEx77XRmSFhqyAAErvnD4a434thNrJcfmyX2YJjFDsxQ== X-Received: by 2002:a05:6000:2303:b0:3b8:d893:5230 with SMTP id ffacd0b85a97d-3c5ddd7f36emr169035f8f.47.1755806854709; Thu, 21 Aug 2025 13:07:34 -0700 (PDT) Received: from localhost (p200300d82f26ba0008036ec5991806fd.dip0.t-ipconnect.de. [2003:d8:2f26:ba00:803:6ec5:9918:6fd]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-3c077788b39sm12802789f8f.47.2025.08.21.13.07.32 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 21 Aug 2025 13:07:34 -0700 (PDT) From: David Hildenbrand To: linux-kernel@vger.kernel.org Cc: David Hildenbrand , Alexander Potapenko , Andrew Morton , Brendan Jackman , Christoph Lameter , Dennis Zhou , Dmitry Vyukov , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, iommu@lists.linux.dev, io-uring@vger.kernel.org, Jason Gunthorpe , Jens Axboe , Johannes Weiner , John Hubbard , kasan-dev@googlegroups.com, kvm@vger.kernel.org, "Liam R. Howlett" , Linus Torvalds , linux-arm-kernel@axis.com, linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-ide@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mips@vger.kernel.org, linux-mmc@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, Lorenzo Stoakes , Marco Elver , Marek Szyprowski , Michal Hocko , Mike Rapoport , Muchun Song , netdev@vger.kernel.org, Oscar Salvador , Peter Xu , Robin Murphy , Suren Baghdasaryan , Tejun Heo , virtualization@lists.linux.dev, Vlastimil Babka , wireguard@lists.zx2c4.com, x86@kernel.org, Zi Yan Subject: [PATCH RFC 10/35] mm/hugetlb: cleanup hugetlb_folio_init_tail_vmemmap() Date: Thu, 21 Aug 2025 22:06:36 +0200 Message-ID: <20250821200701.1329277-11-david@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250821200701.1329277-1-david@redhat.com> References: <20250821200701.1329277-1-david@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" All pages were already initialized and set to PageReserved() with a refcount of 1 by MM init code. In fact, by using __init_single_page(), we will be setting the refcount to 1 just to freeze it again immediately afterwards. So drop the __init_single_page() and use __ClearPageReserved() instead. Adjust the comments to highlight that we are dealing with an open-coded prep_compound_page() variant. Further, as we can now safely iterate over all pages in a folio, let's avoid the page-pfn dance and just iterate the pages directly. Note that the current code was likely problematic, but we never ran into it: prep_compound_tail() would have been called with an offset that might exceed a memory section, and prep_compound_tail() would have simply added that offset to the page pointer -- which would not have done the right thing on sparsemem without vmemmap. Signed-off-by: David Hildenbrand --- mm/hugetlb.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/mm/hugetlb.c b/mm/hugetlb.c index d12a9d5146af4..ae82a845b14ad 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -3235,17 +3235,14 @@ static void __init hugetlb_folio_init_tail_vmemmap(= struct folio *folio, unsigned long start_page_number, unsigned long end_page_number) { - enum zone_type zone =3D zone_idx(folio_zone(folio)); - int nid =3D folio_nid(folio); - unsigned long head_pfn =3D folio_pfn(folio); - unsigned long pfn, end_pfn =3D head_pfn + end_page_number; + struct page *head_page =3D folio_page(folio, 0); + struct page *page =3D folio_page(folio, start_page_number); + unsigned long i; int ret; =20 - for (pfn =3D head_pfn + start_page_number; pfn < end_pfn; pfn++) { - struct page *page =3D pfn_to_page(pfn); - - __init_single_page(page, pfn, zone, nid); - prep_compound_tail((struct page *)folio, pfn - head_pfn); + for (i =3D start_page_number; i < end_page_number; i++, page++) { + __ClearPageReserved(page); + prep_compound_tail(head_page, i); ret =3D page_ref_freeze(page, 1); VM_BUG_ON(!ret); } @@ -3257,12 +3254,14 @@ static void __init hugetlb_folio_init_vmemmap(struc= t folio *folio, { int ret; =20 - /* Prepare folio head */ + /* + * This is an open-coded prep_compound_page() whereby we avoid + * walking pages twice by preparing+freezing them in the same go. + */ __folio_clear_reserved(folio); __folio_set_head(folio); ret =3D folio_ref_freeze(folio, 1); VM_BUG_ON(!ret); - /* Initialize the necessary tail struct pages */ hugetlb_folio_init_tail_vmemmap(folio, 1, nr_pages); prep_compound_head((struct page *)folio, huge_page_order(h)); } --=20 2.50.1 From nobody Sat Oct 4 00:27:00 2025 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CC918352095 for ; Thu, 21 Aug 2025 20:07:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806871; cv=none; b=BKauCrdalHya19cHmTkvF51OFPiS+hrOqRDzEBYoVX41Hdf3Pzs8cKouAwyFMzRqdLP+8eK10XTWf3dJhLmMY5FfRbSHYlAC6esms3cxeAFKnRH6SCaNnyOgjdqbxYCk8wqKr6j5UAS9NuNND8JcT3Hkx1WzO4XIitlUnuCt/jA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806871; c=relaxed/simple; bh=XmsSbVhT3dGsaRmtyroJ024d7WMqPWbEWQJfIPHhOJc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Sy98s18crQBsUBCHRh/Uw9Q3JuJWsY68JPhu8E71D454fgqMDNxoBAYcHopnfwq8+ooIlZlxkFnoF/KbsxppWhmzd1/53468G/dB8b0xngwcrm/YSkVeNRECBd+PxwR1gw8LQOcfpoNSXI+21k2iDOXWID0btUwFvpVezRU+rJg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=PVe0SECX; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="PVe0SECX" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1755806868; 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: in-reply-to:in-reply-to:references:references; bh=QQ4Uu4zoWyKmYQrq0i4l3HgKr6VpAHaNUVdQgPTsBAE=; b=PVe0SECXPKcrValenTdJUENxxHdQI0Urg3/VJ+EVodkZmy9k8RMu7bINlyVh1ROBvGMqxU Nj7N/EiciaxdO+qheC1T5tIyy0/JLnPeSoY8shS45G2iXMkh6V7crH6guGc/zl5lAy5t9W ROkgt8SElKQlwl8brZPuas6ZX91LPws= Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-475-WJDeZvKIMoWU9R5NwSuddg-1; Thu, 21 Aug 2025 16:07:39 -0400 X-MC-Unique: WJDeZvKIMoWU9R5NwSuddg-1 X-Mimecast-MFC-AGG-ID: WJDeZvKIMoWU9R5NwSuddg_1755806858 Received: by mail-wm1-f71.google.com with SMTP id 5b1f17b1804b1-45a256a20fcso8251885e9.2 for ; Thu, 21 Aug 2025 13:07:39 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755806858; x=1756411658; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=QQ4Uu4zoWyKmYQrq0i4l3HgKr6VpAHaNUVdQgPTsBAE=; b=CsWP2z0Oopu9U4aE2z695gNGHxfs8biZnGSBPI9YTQp6wNE6OeSg57ffHt0kvRp3NH ZfL+Dssj+SwFpavwjQ1Qn31Q5ES3ImRfaI/cPstc4OxMk7fCduN+DXsH2ghaY/ZrptF3 EBdtjTlwh9OQaNAH7yR77TtFNun4eIgzgltZdtFlBp7oXV0FNIXGKXdpSz/h3BGclg8U aTZXqHztvAh/2+ZD76P+ZFsb+UBELLsHApbfde3JcHnudrIOVnfHaAD0wvDiXRMNO2vY 9cU3sMDmei6ZE50q4WIvnTB5JMyhF9l5DC74Pf9S0ZnFXRgL0PotQSQDB7AIxaWcq/fL NiZg== X-Gm-Message-State: AOJu0Yz0qFHQgR18m2LGnPrLcz+8RK1AP7v8CfTpDRiW4zFL6OPNghnY GuxJyDae7L23jPyf2o0WmUcZ7Ep1pf6823kPTNzBz6jDwQ2FXV5kjgA67os+krxdHOszokjY7I9 TAeZ+bryMVvgVvnbhxvTPccYJxGPHkVMTmblgh3Z9FQiztJiWe/UE8+CqIiZlsjE7O/tVPUmK4q Yk6E5rK/1PouiBm3YJKjAuhZ1t5x7I3sVxJORKFGsK+oSku+EZ X-Gm-Gg: ASbGncue7wOshTozegiz4K8ipXhrRN9JM21QWdkEqBsLqFnM7LyJK7KTZZ92nG54eQE HyrDSdYkPFoE1i3ocofwMUpKJZreOuujAlgOTWNPqN6wZXhv1tp/xyy2Wu7JljbBVNyuCS76agp Cs0OjGp4ROGlFVhtw0UyMrM+11coRFeuIifU/OS8re/wl1YjTHVOJfw+Ld3sVlVl7MZYj+hh37r Psl/TSK9BaGx+/3m/qdDaNvC8hO4xpXLLqxAUJulWgu6GjMWgYZrSU/3/DmFdhWrt9ODQcQII30 JSCyc2AfOFNegMxgGwXcespEFmeVs8hFz3VU1cNtzQonU5UdfE2KuuJvgUcHIh2C6FJ4GYOVXex 9oHlLKdF6wZI6SSJWmkbnFw== X-Received: by 2002:a05:600c:5251:b0:455:f380:32e2 with SMTP id 5b1f17b1804b1-45b517ca54cmr2646935e9.18.1755806858000; Thu, 21 Aug 2025 13:07:38 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHlSU80KqPPviGOLp6CI40u/NjPujjG4FLCG6NoakJIlvY80lRDOTTm20w50mEKFuk0YjVSLQ== X-Received: by 2002:a05:600c:5251:b0:455:f380:32e2 with SMTP id 5b1f17b1804b1-45b517ca54cmr2646245e9.18.1755806857378; Thu, 21 Aug 2025 13:07:37 -0700 (PDT) Received: from localhost (p200300d82f26ba0008036ec5991806fd.dip0.t-ipconnect.de. [2003:d8:2f26:ba00:803:6ec5:9918:6fd]) by smtp.gmail.com with UTF8SMTPSA id 5b1f17b1804b1-45b4e87858asm18672185e9.3.2025.08.21.13.07.35 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 21 Aug 2025 13:07:36 -0700 (PDT) From: David Hildenbrand To: linux-kernel@vger.kernel.org Cc: David Hildenbrand , Alexander Potapenko , Andrew Morton , Brendan Jackman , Christoph Lameter , Dennis Zhou , Dmitry Vyukov , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, iommu@lists.linux.dev, io-uring@vger.kernel.org, Jason Gunthorpe , Jens Axboe , Johannes Weiner , John Hubbard , kasan-dev@googlegroups.com, kvm@vger.kernel.org, "Liam R. Howlett" , Linus Torvalds , linux-arm-kernel@axis.com, linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-ide@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mips@vger.kernel.org, linux-mmc@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, Lorenzo Stoakes , Marco Elver , Marek Szyprowski , Michal Hocko , Mike Rapoport , Muchun Song , netdev@vger.kernel.org, Oscar Salvador , Peter Xu , Robin Murphy , Suren Baghdasaryan , Tejun Heo , virtualization@lists.linux.dev, Vlastimil Babka , wireguard@lists.zx2c4.com, x86@kernel.org, Zi Yan Subject: [PATCH RFC 11/35] mm: sanity-check maximum folio size in folio_set_order() Date: Thu, 21 Aug 2025 22:06:37 +0200 Message-ID: <20250821200701.1329277-12-david@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250821200701.1329277-1-david@redhat.com> References: <20250821200701.1329277-1-david@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Let's sanity-check in folio_set_order() whether we would be trying to create a folio with an order that would make it exceed MAX_FOLIO_ORDER. This will enable the check whenever a folio/compound page is initialized through prepare_compound_head() / prepare_compound_page(). Signed-off-by: David Hildenbrand Reviewed-by: Zi Yan --- mm/internal.h | 1 + 1 file changed, 1 insertion(+) diff --git a/mm/internal.h b/mm/internal.h index 45b725c3dc030..946ce97036d67 100644 --- a/mm/internal.h +++ b/mm/internal.h @@ -755,6 +755,7 @@ static inline void folio_set_order(struct folio *folio,= unsigned int order) { if (WARN_ON_ONCE(!order || !folio_test_large(folio))) return; + VM_WARN_ON_ONCE(order > MAX_FOLIO_ORDER); =20 folio->_flags_1 =3D (folio->_flags_1 & ~0xffUL) | order; #ifdef NR_PAGES_IN_LARGE_FOLIO --=20 2.50.1 From nobody Sat Oct 4 00:27:00 2025 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DA23E34A31E for ; Thu, 21 Aug 2025 20:07:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806867; cv=none; b=H0tS/RDemScp8bF+nUAxEBk5sl7UNNmyX8vpyopLohJSG+96kxtDkKjwT3gwEpSaHpulNFyXGQVDygba9Llqyz85s481/K2SlZTTqA5prmZsaS9cZLfO4YxLQilkQicA52zllsx4YiQjpU/0Y5y/xzVrQuidvJZi36ngoFCWmjY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806867; c=relaxed/simple; bh=EbcdXL10oBVSBHmjJHKvKh3MpEtOuUSNb7Ges4yPKyE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=hpbKoNyjAywUa5Myv03CS+cndkkF5yB44UicEhcGCMZez3iS2ywCOTDeX2P1WdbqD5qS/qOYgirikK6vC9JaHoIfSi3mMxFDkLi6fWimXx8N7zYNCmBqVcf2mNH34C50rmEgRBe3QcDOAMXprGXUklTuNfP9ThsZosSOCqw3YOg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=Q1/E+adV; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="Q1/E+adV" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1755806863; 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: in-reply-to:in-reply-to:references:references; bh=S+ehuLujhp6/6Ui8/ETipqTmnVB5w2txW2o3jJCUzuY=; b=Q1/E+adVuYX8JC6nYgeVB8Co1OcJGSTX8sUUSbsngZ+Kelsz7Cg/w2rq3awMe1NECnRqqO p8HnNG+spMUhqyjsvz2fqBoqH4Oy3OdDQBZoNqsWLlY0TC+W/dDyEZfGRqNLx/oCxrcgyx w8AooxSq2F2gaUn1JzljIx7zFagxlaE= Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-465-hivJ5-e1M7WG39bJdXYAxg-1; Thu, 21 Aug 2025 16:07:41 -0400 X-MC-Unique: hivJ5-e1M7WG39bJdXYAxg-1 X-Mimecast-MFC-AGG-ID: hivJ5-e1M7WG39bJdXYAxg_1755806861 Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-45a1b00149cso6294635e9.0 for ; Thu, 21 Aug 2025 13:07:41 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755806861; x=1756411661; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=S+ehuLujhp6/6Ui8/ETipqTmnVB5w2txW2o3jJCUzuY=; b=SBJromiUkctSptqVx1oOA2CJXuti3IMNP2Vo32xToF9b5JdZzr93cQRQjQUM4MtYxn szgai708HVOyyT0NU/ggeyONXo22re5cjAzmdf9sr7Q3lVNPziNoQomDweIuAAUUaKm6 +qBdzqfoaPmBm7dv2354VAfXg8HYajEpU5TuojqV+LM2q1r46Uk5OearUE4XVnxcuFel zhg6oYl3amQUmeGI1Vbxc7UAeqIRY3j4G6w/cFiVF4FNUNnY1Qs2mQWo0GmtjbdNFBPu Hjoed5pAXasgQkGxP2XbrqYN38J1IhyL3iojDiBieQwDBsABz8ZTy+AgH3AXgGytcsS4 /mUA== X-Gm-Message-State: AOJu0Yw873sUOKWpqRLQlzaMRUjEKi/S9ICGE7T5oXTzihdQzclJy/WQ L/2QcGzw5g4sdT3xjDM1eL31KWveOBUaaPhHfae3G5sTOoSdHU0YAPX6gX5ax4Ufpux6i0BaKOx mBYSVHTBr6VsrQ8JqaWJDV+aDxlO4mGRaDclpCMJsa2s4weoyKlqBruWDiZJgWi94AJGQzNmRdQ l/Rtod3ReV+iFQgGsL6ocPp3G6xYB7gPIuNBlgbDLnLXSjUdxX X-Gm-Gg: ASbGncsd6E1JX90GX7AitRALXS54kyi7W5s85CImauxdBllnJvO8GJwllcvR1o/GxCC mhlk9ofOdazA/143I5755s52Q9N2jccks25hIGgUDBlsh2jP5ahxTp3QPjH0Fod37gwkAYZKpvs hkCOLkuT6smLhjjUb9Q+HkKoO9nDWkOVl8gcoArYXXoSHvOJ5d57H0fCNUuo7WS0hOdpbkxPsWz 053saYg4+20SF1CimNNEQf2ODlJa7pt8+kNzXVG1qXOmNM83NcgJJzaq5YAzEKzRbRutbSCZSi8 Ny2nEF44+Y3uB/Z2pOkPxqD98jOSbZK9sCLroj/sr2dUFDbwrcBi44iiu0WESzOS33PmM8lCFa7 tYeN93HQMJTkXt2GJ61QmAw== X-Received: by 2002:a05:600c:19cd:b0:458:be62:dcd3 with SMTP id 5b1f17b1804b1-45b517c2fc0mr3573265e9.17.1755806860673; Thu, 21 Aug 2025 13:07:40 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGrtwXyk8M0MMGhBsDq6sn2/zjKB5pcui5JGSP2GUX5VAX4EhNVsrp5ZVJRMStvpa9W7AdEeg== X-Received: by 2002:a05:600c:19cd:b0:458:be62:dcd3 with SMTP id 5b1f17b1804b1-45b517c2fc0mr3572545e9.17.1755806860106; Thu, 21 Aug 2025 13:07:40 -0700 (PDT) Received: from localhost (p200300d82f26ba0008036ec5991806fd.dip0.t-ipconnect.de. [2003:d8:2f26:ba00:803:6ec5:9918:6fd]) by smtp.gmail.com with UTF8SMTPSA id 5b1f17b1804b1-45b50e3a52bsm8600375e9.21.2025.08.21.13.07.38 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 21 Aug 2025 13:07:39 -0700 (PDT) From: David Hildenbrand To: linux-kernel@vger.kernel.org Cc: David Hildenbrand , Alexander Potapenko , Andrew Morton , Brendan Jackman , Christoph Lameter , Dennis Zhou , Dmitry Vyukov , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, iommu@lists.linux.dev, io-uring@vger.kernel.org, Jason Gunthorpe , Jens Axboe , Johannes Weiner , John Hubbard , kasan-dev@googlegroups.com, kvm@vger.kernel.org, "Liam R. Howlett" , Linus Torvalds , linux-arm-kernel@axis.com, linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-ide@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mips@vger.kernel.org, linux-mmc@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, Lorenzo Stoakes , Marco Elver , Marek Szyprowski , Michal Hocko , Mike Rapoport , Muchun Song , netdev@vger.kernel.org, Oscar Salvador , Peter Xu , Robin Murphy , Suren Baghdasaryan , Tejun Heo , virtualization@lists.linux.dev, Vlastimil Babka , wireguard@lists.zx2c4.com, x86@kernel.org, Zi Yan Subject: [PATCH RFC 12/35] mm: limit folio/compound page sizes in problematic kernel configs Date: Thu, 21 Aug 2025 22:06:38 +0200 Message-ID: <20250821200701.1329277-13-david@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250821200701.1329277-1-david@redhat.com> References: <20250821200701.1329277-1-david@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Let's limit the maximum folio size in problematic kernel config where the memmap is allocated per memory section (SPARSEMEM without SPARSEMEM_VMEMMAP) to a single memory section. Currently, only a single architectures supports ARCH_HAS_GIGANTIC_PAGE but not SPARSEMEM_VMEMMAP: sh. Fortunately, the biggest hugetlb size sh supports is 64 MiB (HUGETLB_PAGE_SIZE_64MB) and the section size is at least 64 MiB (SECTION_SIZE_BITS =3D=3D 26), so their use case is not degraded. As folios and memory sections are naturally aligned to their order-2 size in memory, consequently a single folio can no longer span multiple memory sections on these problematic kernel configs. nth_page() is no longer required when operating within a single compound page / folio. Signed-off-by: David Hildenbrand Acked-by: Mike Rapoport (Microsoft) --- include/linux/mm.h | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h index 77737cbf2216a..48a985e17ef4e 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2053,11 +2053,25 @@ static inline long folio_nr_pages(const struct foli= o *folio) return folio_large_nr_pages(folio); } =20 -/* Only hugetlbfs can allocate folios larger than MAX_ORDER */ -#ifdef CONFIG_ARCH_HAS_GIGANTIC_PAGE -#define MAX_FOLIO_ORDER PUD_ORDER -#else +#if !defined(CONFIG_ARCH_HAS_GIGANTIC_PAGE) +/* + * We don't expect any folios that exceed buddy sizes (and consequently + * memory sections). + */ #define MAX_FOLIO_ORDER MAX_PAGE_ORDER +#elif defined(CONFIG_SPARSEMEM) && !defined(CONFIG_SPARSEMEM_VMEMMAP) +/* + * Only pages within a single memory section are guaranteed to be + * contiguous. By limiting folios to a single memory section, all folio + * pages are guaranteed to be contiguous. + */ +#define MAX_FOLIO_ORDER PFN_SECTION_SHIFT +#else +/* + * There is no real limit on the folio size. We limit them to the maximum = we + * currently expect. + */ +#define MAX_FOLIO_ORDER PUD_ORDER #endif =20 #define MAX_FOLIO_NR_PAGES (1UL << MAX_FOLIO_ORDER) --=20 2.50.1 From nobody Sat Oct 4 00:27:00 2025 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DC63135206A for ; Thu, 21 Aug 2025 20:07:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806870; cv=none; b=DaaHX5bb6Ban+wGLnO4B5cq44xzpWHB1No/q1TVat8AM6j1bxLC7S/6IyzhLEtzd3DTsoInSyQNit8YrwnYyg2+o+R6iCPd77o3SdaNh9WObx3bcSn2tZv2UvjRT3x8AYZ4wOPLP23M4YvSX85jf67RsAxYWMqwRCW0oN9yl0JM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806870; c=relaxed/simple; bh=KQhGj4yMV2JJyYTphSuwtYusktgVAWzYxv4GDdmnyDY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=csOX6OWgQJFGlMDjlmN7G4uy4xdmgmP6pcQK5kKHBCVGF8OJkRLr3O/iX6q1lWqJcjqHMd3iFx9Ngd6SDkUAMu88dE+oRxmXbfcj0VWTcApaoj3WApiQ2Bfop8KIMfymvBouQhJmOvmf0zUbSsvxM2jm+onhIJaYFtJOp/daG5E= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=TQgtOEQX; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="TQgtOEQX" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1755806866; 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: in-reply-to:in-reply-to:references:references; bh=PkrXh5PHMEq3NY5i+0892fbAshOERsmwyMLhbVIa0Cc=; b=TQgtOEQXAd+ZqMtryRdclu2CWcywwWPcGCzMrZFbaM2gO/NUWiE9zbd6emxjpl4PAaRcmX Ja8dVAi+Ww3YWP2K5jdURjRGATicOACA0zIstYunElZfkqNE3+Qa+89Se5oMOlM8Yy0tDq RsY7hoM2zfwfOUwYF+6vwfncgXNx/+E= Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-543-9uGd3rNVMhqODijGPkJTIQ-1; Thu, 21 Aug 2025 16:07:44 -0400 X-MC-Unique: 9uGd3rNVMhqODijGPkJTIQ-1 X-Mimecast-MFC-AGG-ID: 9uGd3rNVMhqODijGPkJTIQ_1755806864 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-45a1b0b46bbso6501365e9.2 for ; Thu, 21 Aug 2025 13:07:44 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755806863; x=1756411663; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PkrXh5PHMEq3NY5i+0892fbAshOERsmwyMLhbVIa0Cc=; b=Dc/ev5CZ7re0/tjbNLkCEY+ceWS1kEranu1M8L827NSHWCL2w1JoUmSiztmjT5W7xs FARGa620WGzXdWkRICByqZXMxxR4YIjwrF/bqwqVwbfglklJ+w8i+LjlNy7Fr+wPZDy5 L8HA/rs4V74WRg653p23rM0ltdA+C/8VyWT3wX7elQDouluWWzFPCHxlZ6DguxA5qAYT SJKEmqQwVOzX6kI3fvkNpLX9O1n8Zf0XQbtimgfEvDBd+z33F71ESfTSeG/px3a+a/2V Volv1/mEX9+81x9OnCkY3bVP8U7bICzo+k8lkqXUymipwGMzMiU4HTsbaNMp1qPyfigA 8z3w== X-Gm-Message-State: AOJu0YwjZ0Ioo3U0HDPLYJ8zXwKnpaUtlcXfsdDgH1FTihx54188Q75J J/sct+3TkAXQN+DGMrojiemO9nREy4yWe/zdsM7Cb2SMBEoUrdKR+W/A5vq2EZaHR47Vdl5Jah9 BQDCZ5QIGt6kl+kUTWj7h4dpVB2dCIhfoAQVx1ZU2WQs/DMMVypubIWJCyn8Obo+3NYoZ3tpqiA Xf4bq+tI4u+F19Jp364Zmt8veqm4fujJgjTdYlCskahispOQEx X-Gm-Gg: ASbGncuHUvUzckfpnPyTfRg8vM2eu3UbWNjbLEfhzuDYpNg8pa6KE2c0Az9+gOYHsxe cVnfSF+D3Da44uDa+QjHv8uDYJfmTLllU7/cUJLEiYf55KjYg46n5f72qAAUixbB5lBY5B5elvh amb+AGIrY7PCuoJGTcdhk0mh0n5h4KCdlt58ugBMwh+NGhT0//rxch46AoOu3JJ52i5iDtKf4Y/ KbLKM0rkrKmXuwnlfpGoJkIxR/+MgNFYFtV3KmYFqERHhL/ZUQPuffxDWZmuNkWVBtMu8yXHZAf G9PMz3oGXY0+AkmrSVCZztIG4TpHJxxV+v0Pj94uOkfGcsN4QOdXw0ah+AoRdzz76lXDw3dWz1a mk0nSN3Kg1iZbRO0OtM4bqg== X-Received: by 2002:a5d:5d0a:0:b0:3b9:14f2:7eea with SMTP id ffacd0b85a97d-3c5daefc2a3mr192589f8f.18.1755806863632; Thu, 21 Aug 2025 13:07:43 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFB28V/U3gI+p1afMr2c1HujEN1g59N1A45YIj+RBO5vrtdOMlsNhrN6BtrkE7YShkW7nBB8Q== X-Received: by 2002:a5d:5d0a:0:b0:3b9:14f2:7eea with SMTP id ffacd0b85a97d-3c5daefc2a3mr192518f8f.18.1755806862961; Thu, 21 Aug 2025 13:07:42 -0700 (PDT) Received: from localhost (p200300d82f26ba0008036ec5991806fd.dip0.t-ipconnect.de. [2003:d8:2f26:ba00:803:6ec5:9918:6fd]) by smtp.gmail.com with UTF8SMTPSA id 5b1f17b1804b1-45b51b61256sm1742995e9.3.2025.08.21.13.07.40 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 21 Aug 2025 13:07:42 -0700 (PDT) From: David Hildenbrand To: linux-kernel@vger.kernel.org Cc: David Hildenbrand , Alexander Potapenko , Andrew Morton , Brendan Jackman , Christoph Lameter , Dennis Zhou , Dmitry Vyukov , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, iommu@lists.linux.dev, io-uring@vger.kernel.org, Jason Gunthorpe , Jens Axboe , Johannes Weiner , John Hubbard , kasan-dev@googlegroups.com, kvm@vger.kernel.org, "Liam R. Howlett" , Linus Torvalds , linux-arm-kernel@axis.com, linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-ide@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mips@vger.kernel.org, linux-mmc@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, Lorenzo Stoakes , Marco Elver , Marek Szyprowski , Michal Hocko , Mike Rapoport , Muchun Song , netdev@vger.kernel.org, Oscar Salvador , Peter Xu , Robin Murphy , Suren Baghdasaryan , Tejun Heo , virtualization@lists.linux.dev, Vlastimil Babka , wireguard@lists.zx2c4.com, x86@kernel.org, Zi Yan Subject: [PATCH RFC 13/35] mm: simplify folio_page() and folio_page_idx() Date: Thu, 21 Aug 2025 22:06:39 +0200 Message-ID: <20250821200701.1329277-14-david@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250821200701.1329277-1-david@redhat.com> References: <20250821200701.1329277-1-david@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Now that a single folio/compound page can no longer span memory sections in problematic kernel configurations, we can stop using nth_page(). While at it, turn both macros into static inline functions and add kernel doc for folio_page_idx(). Signed-off-by: David Hildenbrand --- include/linux/mm.h | 16 ++++++++++++++-- include/linux/page-flags.h | 5 ++++- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h index 48a985e17ef4e..ef360b72cb05c 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -210,10 +210,8 @@ extern unsigned long sysctl_admin_reserve_kbytes; =20 #if defined(CONFIG_SPARSEMEM) && !defined(CONFIG_SPARSEMEM_VMEMMAP) #define nth_page(page,n) pfn_to_page(page_to_pfn((page)) + (n)) -#define folio_page_idx(folio, p) (page_to_pfn(p) - folio_pfn(folio)) #else #define nth_page(page,n) ((page) + (n)) -#define folio_page_idx(folio, p) ((p) - &(folio)->page) #endif =20 /* to align the pointer to the (next) page boundary */ @@ -225,6 +223,20 @@ extern unsigned long sysctl_admin_reserve_kbytes; /* test whether an address (unsigned long or pointer) is aligned to PAGE_S= IZE */ #define PAGE_ALIGNED(addr) IS_ALIGNED((unsigned long)(addr), PAGE_SIZE) =20 +/** + * folio_page_idx - Return the number of a page in a folio. + * @folio: The folio. + * @page: The folio page. + * + * This function expects that the page is actually part of the folio. + * The returned number is relative to the start of the folio. + */ +static inline unsigned long folio_page_idx(const struct folio *folio, + const struct page *page) +{ + return page - &folio->page; +} + static inline struct folio *lru_to_folio(struct list_head *head) { return list_entry((head)->prev, struct folio, lru); diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h index d53a86e68c89b..080ad10c0defc 100644 --- a/include/linux/page-flags.h +++ b/include/linux/page-flags.h @@ -316,7 +316,10 @@ static __always_inline unsigned long _compound_head(co= nst struct page *page) * check that the page number lies within @folio; the caller is presumed * to have a reference to the page. */ -#define folio_page(folio, n) nth_page(&(folio)->page, n) +static inline struct page *folio_page(struct folio *folio, unsigned long n= r) +{ + return &folio->page + nr; +} =20 static __always_inline int PageTail(const struct page *page) { --=20 2.50.1 From nobody Sat Oct 4 00:27:00 2025 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0D2FF34F475 for ; Thu, 21 Aug 2025 20:07:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806873; cv=none; b=AS40gH7VCC6FIxMPkbiuByJj3sGxRmwiZi1Kbsa1s6gKdpcukO/VZRhJNuKnSlYDT3HGcw/7ES1vPCWa+MZVTUjMcmHLLvbRWiZv9gaGVQF8+f5jIDc7LZ8O8B5ZgOBTFYDA32Cfr4ioyr0dEBAoiRmxxt2rZO+oVE02NQQYwjM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806873; c=relaxed/simple; bh=g5Pqhen6+TGsZaJhVjcxjHrty8uEIOPaJGSbz6Iayeg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=sAuDGXJqoO3d6HXPMrofd7nrPZ1zUub5/EkaSn6fLdU3bz964+v2RwL27mMtkBf0v6g6KBSutMGQfwjsewvFDXNACwZq3RrZaDaIdU49tNUiy9UIzaIUaiRgMgXTMXgqH9xowbCN4O53JcjmjuA3zz0+p43a7mvvnvzz8pq4YwA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=V14aL92f; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="V14aL92f" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1755806870; 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: in-reply-to:in-reply-to:references:references; bh=TaqjYk7qiFpFT4dP16wKMuC8fiQfbkUwRRgQVKGzHC8=; b=V14aL92fhr2cohaK9176URi5fQltYntvanGd35+ks4+Pw5YFceM3LXpIFUfc5/RSfhPd89 4Ss5da2evnR9BPvnZFmvd0vTpOrdORalxaqn5ZXrdg3j20c86106hIYiMGis5GkEfSfUAH S7aDkJOdL5pspYm7fEp9lh6t0uTx5dQ= Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-117-aCXPaP0kODiVQd5OcGi07A-1; Thu, 21 Aug 2025 16:07:47 -0400 X-MC-Unique: aCXPaP0kODiVQd5OcGi07A-1 X-Mimecast-MFC-AGG-ID: aCXPaP0kODiVQd5OcGi07A_1755806866 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-45a1b0bd6a9so6976755e9.2 for ; Thu, 21 Aug 2025 13:07:47 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755806866; x=1756411666; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=TaqjYk7qiFpFT4dP16wKMuC8fiQfbkUwRRgQVKGzHC8=; b=wnB/tySoYhvXCLWCAT1mNQFqyR59aGvcv0tb6t0LF6zrsccF8UnZNKwxeP4PYjEk38 Dj2g51XCmskKJCe77eg/fRxPhG6EBrtLRrBNzCqK7nK2DCSb1TZ1x7paTHusPESWPpCR CHNpbSxzZhvRfoEm7CxSVazzV1WZL6hv1aQb0nkxs4cBQd2yStZaMzIURGhnNw8+XMsj WmWndDHSViW5VUWVuQiySKnT9Zj7w8MdlCu2gyeWldTbAjdR0ARlzZk9Dnhrz17Mv7iw pYnCwpnQjkwuoTxSrJtOuUEgwdlAW1/g3ZiCZC0KfA8kViQN5mfLtKfdg/jZqnZqfe/j rfWw== X-Gm-Message-State: AOJu0YxYVKQr5pWutt44k0SVgKYM/3cax9BAPhvuwUqWtkYlp5LcGIGt oS4rZlO7r4jhu6rzrQMkOXJT/14IrtgPJ6jYN/i/ihiiqnQByehACTGNq1P/a0Tksurw8pbgQLM DWn8zph4kwNny9A4bNPaBAzsDx+VyrLPvUK/sdC2Mu7Eh1sTuvA1LDDu5EGTAUcsIuJUUKqu0A4 4xKpbQTFXFDKuoIBKCN5V2dmsBF+6cOr6aDr+TjVfF5eMRanKQ X-Gm-Gg: ASbGncsDaxOE/KmbunRh5YIxOmPU9Bp5qqfpLDsZtg9R4Yj+4XVUcYmsnyQSs8kFkSd SDj6I+S2Wy7rHLmGRm4Wcl7IP7RlxWwb2uvHEbnLMg6+anAG3eR1KbL+S9I6QyWFvMqvpShj8I6 9UCltEZ5LuTPtHBUJwN+OIF9utpy8Qgdlqm/s2rjziulMy/wH/sFTl5gI2qlJQFJOutfSU3kZW9 6u/iH/cTzEzBx2G7mnD9+yuXtrmAoQHU69UYLA+p35fMjpfS7u3jTNVFBEkJ1xwTIIb3fJzMrlP CAGEM2mT7edmyK4UjmWZ9UFcCrxIo1Oxu8kDksYTzwoL9vpS/fzPdrj0q9CyF6io3P6jdLaZac+ StJBNwOzjC0lgVJrIMAISXg== X-Received: by 2002:a05:600c:1392:b0:453:5a04:b60e with SMTP id 5b1f17b1804b1-45b517d4e23mr2819715e9.26.1755806866236; Thu, 21 Aug 2025 13:07:46 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHUtzGc4rPv18tjnV22wd1xjfGI25AJiVbHUBF3o7jj7YvZLrrv8XzLc39l/Z4dCqHj4yY2QA== X-Received: by 2002:a05:600c:1392:b0:453:5a04:b60e with SMTP id 5b1f17b1804b1-45b517d4e23mr2819075e9.26.1755806865726; Thu, 21 Aug 2025 13:07:45 -0700 (PDT) Received: from localhost (p200300d82f26ba0008036ec5991806fd.dip0.t-ipconnect.de. [2003:d8:2f26:ba00:803:6ec5:9918:6fd]) by smtp.gmail.com with UTF8SMTPSA id 5b1f17b1804b1-45b50dd0380sm8632985e9.10.2025.08.21.13.07.43 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 21 Aug 2025 13:07:45 -0700 (PDT) From: David Hildenbrand To: linux-kernel@vger.kernel.org Cc: David Hildenbrand , Alexander Potapenko , Andrew Morton , Brendan Jackman , Christoph Lameter , Dennis Zhou , Dmitry Vyukov , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, iommu@lists.linux.dev, io-uring@vger.kernel.org, Jason Gunthorpe , Jens Axboe , Johannes Weiner , John Hubbard , kasan-dev@googlegroups.com, kvm@vger.kernel.org, "Liam R. Howlett" , Linus Torvalds , linux-arm-kernel@axis.com, linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-ide@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mips@vger.kernel.org, linux-mmc@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, Lorenzo Stoakes , Marco Elver , Marek Szyprowski , Michal Hocko , Mike Rapoport , Muchun Song , netdev@vger.kernel.org, Oscar Salvador , Peter Xu , Robin Murphy , Suren Baghdasaryan , Tejun Heo , virtualization@lists.linux.dev, Vlastimil Babka , wireguard@lists.zx2c4.com, x86@kernel.org, Zi Yan Subject: [PATCH RFC 14/35] mm/mm/percpu-km: drop nth_page() usage within single allocation Date: Thu, 21 Aug 2025 22:06:40 +0200 Message-ID: <20250821200701.1329277-15-david@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250821200701.1329277-1-david@redhat.com> References: <20250821200701.1329277-1-david@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" We're allocating a higher-order page from the buddy. For these pages (that are guaranteed to not exceed a single memory section) there is no need to use nth_page(). Signed-off-by: David Hildenbrand --- mm/percpu-km.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/percpu-km.c b/mm/percpu-km.c index fe31aa19db81a..4efa74a495cb6 100644 --- a/mm/percpu-km.c +++ b/mm/percpu-km.c @@ -69,7 +69,7 @@ static struct pcpu_chunk *pcpu_create_chunk(gfp_t gfp) } =20 for (i =3D 0; i < nr_pages; i++) - pcpu_set_page_chunk(nth_page(pages, i), chunk); + pcpu_set_page_chunk(pages + i, chunk); =20 chunk->data =3D pages; chunk->base_addr =3D page_address(pages); --=20 2.50.1 From nobody Sat Oct 4 00:27:00 2025 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 205DB35AAB0 for ; Thu, 21 Aug 2025 20:07:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806875; cv=none; b=QknJkiv9eRsgNqoXZDQCazBwnE5gw+FU4+HVEOZesOUmLRlaNl6RLSUtODiKcl9aKTahOn2HcRVqSNgZWOf8DOLrFxfDQ1IToY/8XkKatOPjXGEpnNEpoiHUSQphAa9aaKFSCAHAYEn6rQoGSsRaufdwl30bnxR3EiXksh4t0xM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806875; c=relaxed/simple; bh=d4tmPeOlqOBXo+X4Tiv9h/CbkpHAugux1EiNuLc/Y0E=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Uo33/Lvd7O9fjzNLMQhTv3Z4m3p1xjGrrP2CvS63OkurhIKerye4Vf25XoBodU9WAc18R408HzM3b8fDQ4AATyBFnfOOcSWG8tnmNyCnmJ6RCG8FU/2lmN2omkTGve7n6RU02j1Lx+xtiS6aeigFS9ainxch+/DVpTaMbNwrG3Q= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=ApVUgePM; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="ApVUgePM" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1755806872; 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: in-reply-to:in-reply-to:references:references; bh=MzMWVCGQW0mP4+/ULAfe7CdOmgWkAKLnoxAB4Fy092E=; b=ApVUgePMc5w7rL41HNMIKF85AcMs6Un4ujFWJA5x+7+Llhbk1+gVkmabnDQ0P0g6RwRZ6I hiG/PTnBi6M9L8qRsc++NZhZs06JhKlMLLamkv6/9nyiqk5kpcRGlad8oxOAC+Nn5J3rGI 2Nt7rHQpw5MKfM1CUw8SvaJu7Y3EaHY= Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-612-0GnGKevNOviEoHDRtoS0Yg-1; Thu, 21 Aug 2025 16:07:50 -0400 X-MC-Unique: 0GnGKevNOviEoHDRtoS0Yg-1 X-Mimecast-MFC-AGG-ID: 0GnGKevNOviEoHDRtoS0Yg_1755806869 Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-3c380aa1ad1so522797f8f.0 for ; Thu, 21 Aug 2025 13:07:50 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755806869; x=1756411669; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=MzMWVCGQW0mP4+/ULAfe7CdOmgWkAKLnoxAB4Fy092E=; b=DuUiGsLStYnNywoqluSYnRoKWvmIKDuWHMLbAHL/xcNJzh0oiQp4fpsXwxwM0Fs0bZ Upm7R9k6vj1HOmxNNrvan0FH4+ZOKN3IOWE6jqVrUf+ZtirQB6mih4QFAPLC5NUiLm2x WFMN6SFNcImvQhDIy0lLbEagf8USPs45fH/HQcaRt6P9dk38oHVVdH0oy1bxntkDLmoA MOHyk8YDYNBOB77HnihfO2ezbbPYldHEkumjDXh5EsMiioywr+eLmKb6Q+Hhj8pUWlc5 K7P1X/Jp+Hz1SjOZYsnPIvnFCoUK3HhK3bRDr9mWBUQlbLVt4rGeb55XMckfZ9wauPDC GjVA== X-Gm-Message-State: AOJu0YyMtJodxtxvudQ8FVANJVCRHVEnDt/9hm52lTiBczlCX56wTQn9 fvc9Ut+ZqncSyOWuiCxkTdgCBk26Vdjj/7wTfCNyNhRflB0lO0xb0JR9DZzCddlU6LJgFB2881q xQNmgyFxnPK7P7b7Cn0DXSj5dj3nZDJwQVh2p60nEEmtpolABETFW9Ck7LC73d/criXQS4Li1dz FVk+IeH3v0rb3JQyvwf3i6GWqQDvZSKMZP1YQbJq0UeJ4GYcMr X-Gm-Gg: ASbGncuyTBNc0wfih4/RFh6asoKLQghRmQ/oj1eNZPFSfzNMsKTU1NqhLZ4asudGQyp QOkFQeFqDDJOK6unUTbiC9TTKBkW+fqpe9m7OTICDkn2hgKsan7O9+9nmWzdahsYa2goeF1j7rF PzyvhGQmbrUJoCqdmFPR305GWrzqG6VMBiBnVW1S6DBGLvCT9NaoDZO93ofew7F7vSr1qNIlL5r FQMZdNdnVVawlj9wsB4f7e5psq0uCzg05Tm2cGY/u5DPQW5HOP5X4zieZ33fiiSQqRnCnY+IOcT yf3V0wr9/VZgdE1yv/Jo03dySx6cdxvrXWMf6Qntz0fHvlxVBWTiDOkOsdlh+FloGRrPVCOfJuX pYc7VdSwkQKS+XFaNgZzv9g== X-Received: by 2002:a05:6000:2901:b0:3b7:c703:ce4 with SMTP id ffacd0b85a97d-3c5dcff5f3amr167821f8f.59.1755806868960; Thu, 21 Aug 2025 13:07:48 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHCm64ALptQrKyrLlaLt4xJ2vziBy3gZm4Q1WMVX6wnWhr2W2tRcHnZJHBwxpAOnTfL4mKx+A== X-Received: by 2002:a05:6000:2901:b0:3b7:c703:ce4 with SMTP id ffacd0b85a97d-3c5dcff5f3amr167760f8f.59.1755806868453; Thu, 21 Aug 2025 13:07:48 -0700 (PDT) Received: from localhost (p200300d82f26ba0008036ec5991806fd.dip0.t-ipconnect.de. [2003:d8:2f26:ba00:803:6ec5:9918:6fd]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-3c5826751d5sm1323274f8f.14.2025.08.21.13.07.46 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 21 Aug 2025 13:07:47 -0700 (PDT) From: David Hildenbrand To: linux-kernel@vger.kernel.org Cc: David Hildenbrand , Alexander Potapenko , Andrew Morton , Brendan Jackman , Christoph Lameter , Dennis Zhou , Dmitry Vyukov , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, iommu@lists.linux.dev, io-uring@vger.kernel.org, Jason Gunthorpe , Jens Axboe , Johannes Weiner , John Hubbard , kasan-dev@googlegroups.com, kvm@vger.kernel.org, "Liam R. Howlett" , Linus Torvalds , linux-arm-kernel@axis.com, linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-ide@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mips@vger.kernel.org, linux-mmc@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, Lorenzo Stoakes , Marco Elver , Marek Szyprowski , Michal Hocko , Mike Rapoport , Muchun Song , netdev@vger.kernel.org, Oscar Salvador , Peter Xu , Robin Murphy , Suren Baghdasaryan , Tejun Heo , virtualization@lists.linux.dev, Vlastimil Babka , wireguard@lists.zx2c4.com, x86@kernel.org, Zi Yan Subject: [PATCH RFC 15/35] fs: hugetlbfs: remove nth_page() usage within folio in adjust_range_hwpoison() Date: Thu, 21 Aug 2025 22:06:41 +0200 Message-ID: <20250821200701.1329277-16-david@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250821200701.1329277-1-david@redhat.com> References: <20250821200701.1329277-1-david@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The nth_page() is not really required anymore, so let's remove it. While at it, cleanup and simplify the code a bit. Signed-off-by: David Hildenbrand --- fs/hugetlbfs/inode.c | 25 ++++++++----------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c index 34d496a2b7de6..dc981509a7717 100644 --- a/fs/hugetlbfs/inode.c +++ b/fs/hugetlbfs/inode.c @@ -198,31 +198,22 @@ hugetlb_get_unmapped_area(struct file *file, unsigned= long addr, static size_t adjust_range_hwpoison(struct folio *folio, size_t offset, size_t bytes) { - struct page *page; - size_t n =3D 0; - size_t res =3D 0; + struct page *page =3D folio_page(folio, offset / PAGE_SIZE); + size_t n, safe_bytes; =20 - /* First page to start the loop. */ - page =3D folio_page(folio, offset / PAGE_SIZE); offset %=3D PAGE_SIZE; - while (1) { + for (safe_bytes =3D 0; safe_bytes < bytes; safe_bytes +=3D n) { + if (is_raw_hwpoison_page_in_hugepage(page)) break; =20 /* Safe to read n bytes without touching HWPOISON subpage. */ - n =3D min(bytes, (size_t)PAGE_SIZE - offset); - res +=3D n; - bytes -=3D n; - if (!bytes || !n) - break; - offset +=3D n; - if (offset =3D=3D PAGE_SIZE) { - page =3D nth_page(page, 1); - offset =3D 0; - } + n =3D min(bytes - safe_bytes, (size_t)PAGE_SIZE - offset); + offset =3D 0; + page++; } =20 - return res; + return safe_bytes; } =20 /* --=20 2.50.1 From nobody Sat Oct 4 00:27:00 2025 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9B9C635CEC3 for ; Thu, 21 Aug 2025 20:07:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806878; cv=none; b=dPFtPupTzPQK677ZKdT7qXTrNLefHsYMB5QIKM2MBO1R0mLWaZmlf2UOZyYOwrk0iFaXCm/83Fcfyy6v8NlZ4ad+MESJ4rQNiPHjxWBNMZIsJXu0tlu3Qg+fPTYO32/KvCiOFdFlh8hmn9JA4Bsr+cRkptiiOSU3d8xDL+5OQFE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806878; c=relaxed/simple; bh=DqyVXDGsUgZb9r/3HwvxxZbRj3b/8OImyDb3ud4Q1pk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=p/tT9EmJ1f1QwRejbJDx+7Li0TTHbcJkeRnW1PG1GPYDsCKYSYwdvxHzegmJHDpyTp9aKlIRwIIcVVWPGvRIycLniEUyu/bggC2xdzq34aqEBnNo87eUw2bVzvucUcqyZ9X54zhVRWJ4sXkJrSFCInq4i0sqTwTK/IbaL7CF4uU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=Ibk57JeW; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="Ibk57JeW" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1755806874; 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: in-reply-to:in-reply-to:references:references; bh=QCvnB/7xI7T/4p4mwWx/D4+W6s//h9G2+oSyfbDOFZs=; b=Ibk57JeWoGlmYmhEGO0mKqFFj7juZc9klc56ivvxd6emwSHYUf5E5WtJTxvTnWUV9Qd2QY m1LVc02TAYYhUQm5CU9NLYfhKREWI0RmzBTrK6+boeFsd5I+YhLqF+rAo9Ya/u5ysDeMvj Z4Ya7F8irll0NLQT7VgESlWogDxzBDI= Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-610-MxA5xqXZO8Wqq41dANvRGA-1; Thu, 21 Aug 2025 16:07:53 -0400 X-MC-Unique: MxA5xqXZO8Wqq41dANvRGA-1 X-Mimecast-MFC-AGG-ID: MxA5xqXZO8Wqq41dANvRGA_1755806872 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-45b4d6f3ab0so8379635e9.0 for ; Thu, 21 Aug 2025 13:07:53 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755806872; x=1756411672; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=QCvnB/7xI7T/4p4mwWx/D4+W6s//h9G2+oSyfbDOFZs=; b=H3hq2SCTQrNrLEZnI7julAXuUFjCwthd0XDxY7EY8+X0rPa1bW3Nkc54Pr2h48Ah1N y/TqS7iatiyhqorSaZwfkJ3iterHsDmjpvq+19AjupFGWYNgWV/uNIWdaf4Gy7743eHr EckubyHzlbk0SvIPV0D08pdDRro6AbmGPmORYxwJWy4YG4OwvI20FdQqJ8G3KC+boMfu z3xcMb8f1fvKekOg2X8QdEwyIjARBOUy/bzb9zTmVFQz9p9OnFze6Chbal6V3cnGIYFk JNPVEvMlA+3LyjI79sN+UY6uHNxg8C2xYBB+oI7dH9Bhdz4OdNHeE3sBndyXWhq1bNn7 Wwow== X-Gm-Message-State: AOJu0YwtYHxY3/hWYwsMdsyrB3/qQf8wy58xZDUippHAY1+SZhYtGkdq Zi+OAKX8/0bsCAXone4BpvcLXzCqdUAUC9dEmeTdu2lVwH0oZcH0CAge7H2NvFJ/VvNyJ47mWBl fS4lZvJ5tWkLGs+T60d0PQouU4Edx5+ZaMLWRuJk/pSrHM8Dqd66mTf2f2US+iWrZ32m3/38HPr yOvJO5kboByZFj3Ryu+9qPbeb3GOWk/o6P1/bqm/WhyvLXJTYT X-Gm-Gg: ASbGncvA1tRFMNH+ew2YU5YwWz/r+1w+EpJAdmT8UE4Oeg3WgSucOPKln100XweuCel xdIG8voPMtuY2MmcFcAj6v14p5ZR9cAGoj1qzDeYjNlRSUauR2Bl2fv77EGxFjaxe4Zh3+w2zYn dMdvKZqrklbpz6iMDlBkusdw+G4PxzwwlZyJhoIRF7kJMGbrcx61tXNZG5vnMnTAX3+NFZEQLdV OSgj8KhMog6wRqBMobtMU+GJm3gw3phjdOy2vDh3dRdtrL6mPr7KyAE68Z8fM3+f7CPcYbkq7rC 77nGVV3GhK2+x/min/k7mjuZ5uZ+CKRWf+5xYtUy2rGKoJq+wILDtNYnOaL9O/9WZI8v9ZFIeUK AN9Rpv+JjgWEsfOxZXX1ynw== X-Received: by 2002:a05:600c:1d07:b0:459:e025:8c40 with SMTP id 5b1f17b1804b1-45b5179e897mr2279215e9.10.1755806871888; Thu, 21 Aug 2025 13:07:51 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGQe1GSIQC6LfutgynQLrqB1o4Jo0GTrBjlhxRWjM7nqTD8l8oEo1HOcPxtIuVQVn3tsHm8QA== X-Received: by 2002:a05:600c:1d07:b0:459:e025:8c40 with SMTP id 5b1f17b1804b1-45b5179e897mr2278575e9.10.1755806871147; Thu, 21 Aug 2025 13:07:51 -0700 (PDT) Received: from localhost (p200300d82f26ba0008036ec5991806fd.dip0.t-ipconnect.de. [2003:d8:2f26:ba00:803:6ec5:9918:6fd]) by smtp.gmail.com with UTF8SMTPSA id 5b1f17b1804b1-45b4e1d77e0sm22159155e9.0.2025.08.21.13.07.49 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 21 Aug 2025 13:07:50 -0700 (PDT) From: David Hildenbrand To: linux-kernel@vger.kernel.org Cc: David Hildenbrand , Alexander Potapenko , Andrew Morton , Brendan Jackman , Christoph Lameter , Dennis Zhou , Dmitry Vyukov , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, iommu@lists.linux.dev, io-uring@vger.kernel.org, Jason Gunthorpe , Jens Axboe , Johannes Weiner , John Hubbard , kasan-dev@googlegroups.com, kvm@vger.kernel.org, "Liam R. Howlett" , Linus Torvalds , linux-arm-kernel@axis.com, linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-ide@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mips@vger.kernel.org, linux-mmc@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, Lorenzo Stoakes , Marco Elver , Marek Szyprowski , Michal Hocko , Mike Rapoport , Muchun Song , netdev@vger.kernel.org, Oscar Salvador , Peter Xu , Robin Murphy , Suren Baghdasaryan , Tejun Heo , virtualization@lists.linux.dev, Vlastimil Babka , wireguard@lists.zx2c4.com, x86@kernel.org, Zi Yan Subject: [PATCH RFC 16/35] mm/pagewalk: drop nth_page() usage within folio in folio_walk_start() Date: Thu, 21 Aug 2025 22:06:42 +0200 Message-ID: <20250821200701.1329277-17-david@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250821200701.1329277-1-david@redhat.com> References: <20250821200701.1329277-1-david@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" It's no longer required to use nth_page() within a folio, so let's just drop the nth_page() in folio_walk_start(). Signed-off-by: David Hildenbrand --- mm/pagewalk.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/pagewalk.c b/mm/pagewalk.c index c6753d370ff4e..9e4225e5fcf5c 100644 --- a/mm/pagewalk.c +++ b/mm/pagewalk.c @@ -1004,7 +1004,7 @@ struct folio *folio_walk_start(struct folio_walk *fw, found: if (expose_page) /* Note: Offset from the mapped page, not the folio start. */ - fw->page =3D nth_page(page, (addr & (entry_size - 1)) >> PAGE_SHIFT); + fw->page =3D page + ((addr & (entry_size - 1)) >> PAGE_SHIFT); else fw->page =3D NULL; fw->ptl =3D ptl; --=20 2.50.1 From nobody Sat Oct 4 00:27:00 2025 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4A6C235E4F4 for ; Thu, 21 Aug 2025 20:07:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806880; cv=none; b=GFc8XnyK3mweSK1BUa+Vg8+khTxUyNYQk1DKiWyV1y9xcdLTrGAQNE4SMzl0vq9gjV/AwLQTMgCFMWCfL8y8qtyTT6aQUAWWR3wUfn6XU9zxj9AZg2uDGfYeCcN47CMIQm+BPuaBJ7M1nReJ1jhcWaeF8OSLWJ/ca1BM3pU3pqs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806880; c=relaxed/simple; bh=jeuBd6AEd//7dLky0U/9/K8CcfgAIF74DmeLEQ7xh6M=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=pzf4qT4eLFy47oo8P/gk5pmD6Vqpx5tS0TqMDqlTztN57XKoS/5MN+98UPGfGyxEcG++8o5WdR4ei8LuKN4BcopEhsP0RUu2+nHvfjV7K+1j9Yn6ENxdvv4uIhv9tdFkTAlTrGHZ2ITpsrhn1GcGZCn6zMSQ1+l1vO32AKaVpTI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=Cc7k8vzI; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="Cc7k8vzI" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1755806877; 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: in-reply-to:in-reply-to:references:references; bh=NPs2EdTZ9fd3MpWdb0ATDCa6nUqfGtFMv2uyZP7L+uU=; b=Cc7k8vzI8vWyxlhOTg3zj5LNGjaDshsiz6wO+Ms72EVhWwZd1ayoq4w78xvhwzeswURLhd sTkMrm8c281eBuTMugA4EQ0gLZR/hym/wLnJuwYj0b/EGcngrTVom43mob3elWoOAbQwg8 yXIaPVKhDlpqvvHwwbMbC25+SHd0wvM= Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-156-1NKUWEi-PwOwCTZDr0ToAw-1; Thu, 21 Aug 2025 16:07:55 -0400 X-MC-Unique: 1NKUWEi-PwOwCTZDr0ToAw-1 X-Mimecast-MFC-AGG-ID: 1NKUWEi-PwOwCTZDr0ToAw_1755806874 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-45a1b0514a5so6771745e9.1 for ; Thu, 21 Aug 2025 13:07:55 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755806874; x=1756411674; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=NPs2EdTZ9fd3MpWdb0ATDCa6nUqfGtFMv2uyZP7L+uU=; b=MZvRHlg3TEbse/XQhieauPoVw7WikUHIIA2DYGqeGjD6FxLUX7U94S4tKLFiokIC/o 9IXDUeunZLuyfkoxYje+H1AZlisPaXk+thnd7okcIKB79XqOfp4FARX1b/aU0/y1lcNH u6y1anAIl5Rm3Tjl2NP01q9RVN9BsIofwfstkKFjEUG8J2knfwrX2Mn6GNVUfnXUTDEI /OoxB0yZHilJUKGKmEIGNL5kfVGpQ9Mo4HjrM0QV9TCFYU1GcfaoIqMgmJL5kRTkZhu+ /qvM+GiCbP/fIj6UJXCIfvMB18/YmnmAID+YGYwdrjuuebDtov1aZt0iviaVwWFzToMj 6AVA== X-Gm-Message-State: AOJu0YzM6dyo1pWguL1e2rPL9C9/tCmcWshsKJyOg4AqEbIuwpNvVhmV D4gy/mB0A0QlYYzdkC/h6QXfIOb6Y0/YOFiPJOG0gk6IZHfAYWFZgG3w/aasQ2ZGW3LLZdK9Bgj BZbTK/98gKzADg/Hcv3pDG1eOlejO/VmzNZVfQUN3MXBzSNMUiSRQmg7ZKdw+qa9Tk90khLmK6x 5LFxozyY3TjZ65cF7SAqV64rHYJBmrWN7e5SwGCHgnKYWmCSZi X-Gm-Gg: ASbGncuMVZDN93uQqddVawNvICzXqRJEGH/TFtaHTe0YifsRo4M3wVH5Eg4iBnraDju oCtQ9kC9RuF1QoAGdU+QTrtdsU3nonw91hrFHYUe55N4cN4vslxH60SgL1iJ3lUL1F9/vJva6Ov moSWzo0w3HPuEOX/9y91Ametv43QGZYuDx9FndXrncn1Zn07OdV9/hE12G+bgHJZ+MiPzQ8xkd7 RKx9doXoDiiB0PspiicE2cGrzUFTwhXvG/gC7h24ExsC7qc4Du96N5ZRkTx0Dml4dl0ZMimad4b 4bDrTFfjAVakjDzOphuqAuuTyFm73ZjVw9XujsBI9E2IGq0m4vT2/F1Dt0Ax0kxnkVhK/T4uWXB B5GQzevuSavSsIzsngZvZGA== X-Received: by 2002:a05:600c:1388:b0:459:d451:3364 with SMTP id 5b1f17b1804b1-45b517d40f2mr2554595e9.24.1755806874378; Thu, 21 Aug 2025 13:07:54 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFo8ikhW4DoWVw60oDeAXqMRvn4UERlcVawLCjGel2pacwRc1R1ONhYVQm5EzuW0YIJQT4FDg== X-Received: by 2002:a05:600c:1388:b0:459:d451:3364 with SMTP id 5b1f17b1804b1-45b517d40f2mr2553905e9.24.1755806873856; Thu, 21 Aug 2025 13:07:53 -0700 (PDT) Received: from localhost (p200300d82f26ba0008036ec5991806fd.dip0.t-ipconnect.de. [2003:d8:2f26:ba00:803:6ec5:9918:6fd]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-3c07487a009sm12690403f8f.11.2025.08.21.13.07.51 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 21 Aug 2025 13:07:53 -0700 (PDT) From: David Hildenbrand To: linux-kernel@vger.kernel.org Cc: David Hildenbrand , Alexander Potapenko , Andrew Morton , Brendan Jackman , Christoph Lameter , Dennis Zhou , Dmitry Vyukov , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, iommu@lists.linux.dev, io-uring@vger.kernel.org, Jason Gunthorpe , Jens Axboe , Johannes Weiner , John Hubbard , kasan-dev@googlegroups.com, kvm@vger.kernel.org, "Liam R. Howlett" , Linus Torvalds , linux-arm-kernel@axis.com, linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-ide@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mips@vger.kernel.org, linux-mmc@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, Lorenzo Stoakes , Marco Elver , Marek Szyprowski , Michal Hocko , Mike Rapoport , Muchun Song , netdev@vger.kernel.org, Oscar Salvador , Peter Xu , Robin Murphy , Suren Baghdasaryan , Tejun Heo , virtualization@lists.linux.dev, Vlastimil Babka , wireguard@lists.zx2c4.com, x86@kernel.org, Zi Yan Subject: [PATCH RFC 17/35] mm/gup: drop nth_page() usage within folio when recording subpages Date: Thu, 21 Aug 2025 22:06:43 +0200 Message-ID: <20250821200701.1329277-18-david@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250821200701.1329277-1-david@redhat.com> References: <20250821200701.1329277-1-david@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" nth_page() is no longer required when iterating over pages within a single folio, so let's just drop it when recording subpages. Signed-off-by: David Hildenbrand --- mm/gup.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mm/gup.c b/mm/gup.c index b2a78f0291273..f017ff6d7d61a 100644 --- a/mm/gup.c +++ b/mm/gup.c @@ -491,9 +491,9 @@ static int record_subpages(struct page *page, unsigned = long sz, struct page *start_page; int nr; =20 - start_page =3D nth_page(page, (addr & (sz - 1)) >> PAGE_SHIFT); + start_page =3D page + ((addr & (sz - 1)) >> PAGE_SHIFT); for (nr =3D 0; addr !=3D end; nr++, addr +=3D PAGE_SIZE) - pages[nr] =3D nth_page(start_page, nr); + pages[nr] =3D start_page + nr; =20 return nr; } @@ -1512,7 +1512,7 @@ static long __get_user_pages(struct mm_struct *mm, } =20 for (j =3D 0; j < page_increm; j++) { - subpage =3D nth_page(page, j); + subpage =3D page + j; pages[i + j] =3D subpage; flush_anon_page(vma, subpage, start + j * PAGE_SIZE); flush_dcache_page(subpage); --=20 2.50.1 From nobody Sat Oct 4 00:27:00 2025 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E6A04362063 for ; Thu, 21 Aug 2025 20:08:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806883; cv=none; b=aMGYZ79en/nnWlzuzZYkTQT/FfZgARRmk5gwEDwRCzWJW3r/sR/2gg6J1KZ0nPcBfPr3UnzvuJseu9ddqhDQlJ4XW440ND0BZ8DDo46E8idnpMHuP1X8P2ZTEjG8SN/iG5r1UrkWPLfqD7NZrq1vqLoUnmovAy1XxtKW2sJT1Ys= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806883; c=relaxed/simple; bh=zuH5Mfr3MXrb3Q6KuIuEbIGzhyvXbwh1EOpbXVleP4E=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=S+7er0DGLaYdQyoqQi6gZJqTXjrCNL8EWymheMcRwmalt2tV1aX2UrpPGYS+yG0frCla2LteoCY0HSQdWQNwS28Fzvh7zjfpH7oWlI6lZyjVeHxaE2AAkVgap8bnzDWCx4z0Yt4x7EdUFDrJ2p0Y/q/uiDUSTRvccXAyaafV15c= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=g80CNirM; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="g80CNirM" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1755806880; 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: in-reply-to:in-reply-to:references:references; bh=hICKs+PYshPEfoclHwqOXtWPheskj6p8LyRcJkrFnX4=; b=g80CNirM+XKtd5lCB8seBW95EVoOYwWRh+oRieBSB+hTQ/OAFnTZ2QRD+MpCwkJonxsPha kHGbgxKNI1xHQKQq5qxt9CVy68m43ZgBoAcGd8m+ySiDKu3fZ1ccqafrKvwqNgIYuqt05Z r8dkKgBNIu324SVLDqQAgUCFZsRSEHI= Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-357-aGx_JKyyOl2TXTdw5iabbA-1; Thu, 21 Aug 2025 16:07:58 -0400 X-MC-Unique: aGx_JKyyOl2TXTdw5iabbA-1 X-Mimecast-MFC-AGG-ID: aGx_JKyyOl2TXTdw5iabbA_1755806877 Received: by mail-wr1-f72.google.com with SMTP id ffacd0b85a97d-3c380aa19c1so770318f8f.1 for ; Thu, 21 Aug 2025 13:07:58 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755806877; x=1756411677; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=hICKs+PYshPEfoclHwqOXtWPheskj6p8LyRcJkrFnX4=; b=a+ukqIXvv9GNBdNvZaIQNLIrHWo2dkxEyGMuKlcJyfgKDgXGMx7iTk9E6v5+CG+ern xiuorzXmI/9BpfF2XvyWI7TtwTWw2tD/5pdHzLNUF9M7FA5ygP84XPHUXUcRX2Cj/CrR h7WuUNge3hLH9enHwYc8XOsro76hThicBUeS5rA9Gv7Hs1zXQmr5JEvaMq91lF1tBx3E GALFaWTAscxNuPNBpGFMhD21PvdF1W0plTf/c05SsTb/bFom1n2NE+3xehEvJDIS/qi5 UIPbFE6Ww0gyBFRXaPGlobgXglN94DFoxFQZf0iP0t+UB+nH9dabQpuankrhuDw8HNHq yh0A== X-Gm-Message-State: AOJu0Yx9Xm9noaXdJMElWpx/P1GBGSDwGPahr/Cr84K3G8xUfMsnbCqd HhUP3hTYGWVfV+4xNZ9H3flEu5y6diVoqqndzDxrZ0rOnM257iOVigw5R/sl5eC9oH49I7U9zu4 3x/A4i1jSV5MoDOqF3J9OibLvw1hjIBmZyiCubOsyCNOijmibvgHGtHEJ3lkPIyDoaTCqlx05d5 jkuFmex4JyTSdHNHcz3lDZiIzNVF7dExYGPIujNozqDVBkMCti X-Gm-Gg: ASbGncsakbVjWy6E68FR2RWnLhf6smZ84IQeqCbydyw1mMyI7IZe4/jOj7BbyHiAhL3 XNRLRhNWPrZV1kv/bFQTlzP9m/SXpfiV+0Z8f4H0pDo1WUsD06ZthIrtDIEf4nsm+rwtacoqw3W 9C80PqHTSVPPnyKW/m3hX4mHkOu95RyDgCLZ7b6tSvbunY1XLCDUNir1htr5GiPr03ZjAyPWBnq kJxzP/8k7EoFKPGi3T06s/OjMFdReUSEHyMGU3FNbrbST5hXhd8vgUKIYiL4uKQ53cD7Msq9WaP XA6DmH7N95uB1xRo4Nvtm7x6qy74Iq9DyaE8rifYeLepYzsgTueLlAfqQQLKFGwxnIrFlRf3nsd Hx1iYHi+ByTY8lGiMOR1j/g== X-Received: by 2002:a05:6000:1789:b0:3b4:9721:2b2b with SMTP id ffacd0b85a97d-3c5dac17062mr195861f8f.12.1755806877346; Thu, 21 Aug 2025 13:07:57 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHgVLjhFaRrDh3LOBLGV7UmH7wFAxvy1IR++ErfO8cOP/XFU/ikMyZpM3bVU7Jjqctj1mhmFQ== X-Received: by 2002:a05:6000:1789:b0:3b4:9721:2b2b with SMTP id ffacd0b85a97d-3c5dac17062mr195797f8f.12.1755806876810; Thu, 21 Aug 2025 13:07:56 -0700 (PDT) Received: from localhost (p200300d82f26ba0008036ec5991806fd.dip0.t-ipconnect.de. [2003:d8:2f26:ba00:803:6ec5:9918:6fd]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-3c4f77e968esm2903478f8f.21.2025.08.21.13.07.54 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 21 Aug 2025 13:07:56 -0700 (PDT) From: David Hildenbrand To: linux-kernel@vger.kernel.org Cc: David Hildenbrand , Jens Axboe , Alexander Potapenko , Andrew Morton , Brendan Jackman , Christoph Lameter , Dennis Zhou , Dmitry Vyukov , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, iommu@lists.linux.dev, io-uring@vger.kernel.org, Jason Gunthorpe , Johannes Weiner , John Hubbard , kasan-dev@googlegroups.com, kvm@vger.kernel.org, "Liam R. Howlett" , Linus Torvalds , linux-arm-kernel@axis.com, linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-ide@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mips@vger.kernel.org, linux-mmc@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, Lorenzo Stoakes , Marco Elver , Marek Szyprowski , Michal Hocko , Mike Rapoport , Muchun Song , netdev@vger.kernel.org, Oscar Salvador , Peter Xu , Robin Murphy , Suren Baghdasaryan , Tejun Heo , virtualization@lists.linux.dev, Vlastimil Babka , wireguard@lists.zx2c4.com, x86@kernel.org, Zi Yan Subject: [PATCH RFC 18/35] io_uring/zcrx: remove "struct io_copy_cache" and one nth_page() usage Date: Thu, 21 Aug 2025 22:06:44 +0200 Message-ID: <20250821200701.1329277-19-david@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250821200701.1329277-1-david@redhat.com> References: <20250821200701.1329277-1-david@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" We always provide a single dst page, it's unclear why the io_copy_cache complexity is required. So let's simplify and get rid of "struct io_copy_cache", simply working on the single page. ... which immediately allows us for dropping one "nth_page" usage, because it's really just a single page. Cc: Jens Axboe Signed-off-by: David Hildenbrand Reviewed-by: Pavel Begunkov --- io_uring/zcrx.c | 32 +++++++------------------------- 1 file changed, 7 insertions(+), 25 deletions(-) diff --git a/io_uring/zcrx.c b/io_uring/zcrx.c index e5ff49f3425e0..f29b2a4867516 100644 --- a/io_uring/zcrx.c +++ b/io_uring/zcrx.c @@ -954,29 +954,18 @@ static struct net_iov *io_zcrx_alloc_fallback(struct = io_zcrx_area *area) return niov; } =20 -struct io_copy_cache { - struct page *page; - unsigned long offset; - size_t size; -}; - -static ssize_t io_copy_page(struct io_copy_cache *cc, struct page *src_pag= e, +static ssize_t io_copy_page(struct page *dst_page, struct page *src_page, unsigned int src_offset, size_t len) { - size_t copied =3D 0; + size_t dst_offset =3D 0; =20 - len =3D min(len, cc->size); + len =3D min(len, PAGE_SIZE); =20 while (len) { void *src_addr, *dst_addr; - struct page *dst_page =3D cc->page; - unsigned dst_offset =3D cc->offset; size_t n =3D len; =20 - if (folio_test_partial_kmap(page_folio(dst_page)) || - folio_test_partial_kmap(page_folio(src_page))) { - dst_page =3D nth_page(dst_page, dst_offset / PAGE_SIZE); - dst_offset =3D offset_in_page(dst_offset); + if (folio_test_partial_kmap(page_folio(src_page))) { src_page =3D nth_page(src_page, src_offset / PAGE_SIZE); src_offset =3D offset_in_page(src_offset); n =3D min(PAGE_SIZE - src_offset, PAGE_SIZE - dst_offset); @@ -991,12 +980,10 @@ static ssize_t io_copy_page(struct io_copy_cache *cc,= struct page *src_page, kunmap_local(src_addr); kunmap_local(dst_addr); =20 - cc->size -=3D n; - cc->offset +=3D n; + dst_offset +=3D n; len -=3D n; - copied +=3D n; } - return copied; + return dst_offset; } =20 static ssize_t io_zcrx_copy_chunk(struct io_kiocb *req, struct io_zcrx_ifq= *ifq, @@ -1011,7 +998,6 @@ static ssize_t io_zcrx_copy_chunk(struct io_kiocb *req= , struct io_zcrx_ifq *ifq, return -EFAULT; =20 while (len) { - struct io_copy_cache cc; struct net_iov *niov; size_t n; =20 @@ -1021,11 +1007,7 @@ static ssize_t io_zcrx_copy_chunk(struct io_kiocb *r= eq, struct io_zcrx_ifq *ifq, break; } =20 - cc.page =3D io_zcrx_iov_page(niov); - cc.offset =3D 0; - cc.size =3D PAGE_SIZE; - - n =3D io_copy_page(&cc, src_page, src_offset, len); + n =3D io_copy_page(io_zcrx_iov_page(niov), src_page, src_offset, len); =20 if (!io_zcrx_queue_cqe(req, niov, ifq, 0, n)) { io_zcrx_return_niov(niov); --=20 2.50.1 From nobody Sat Oct 4 00:27:00 2025 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 992323629AC for ; Thu, 21 Aug 2025 20:08:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806885; cv=none; b=QaY/9hySUnPW+qprIYYB8rTPVapkx6iTLZQjc6VbUDCnnMPmENDz02kkNUbGZRfjWZ9y8moUx60qP26/rzIWUG2t/bndi5JTp/WqVi36WumER5Gp0+iaEvfj5orskftugmQPd923PKnsq2inF4kY1Mv74aW4xQPMJgitPs1oOgE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806885; c=relaxed/simple; bh=E88hXeAEs+yXdxHqIfTWo/GvQIeDr+kkFObDidynu1s=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ZF8AxGR6w8ToFrqkdx2CHQSDRRJ7H+6vguZBJPk+xMn3fjGCrT7BbvZpSyUSsGHrx5qh//4fyUvfGjfay1w0/mSa/t7ljxVcSZUkbVfJPZ7g+KUwv8T3z3cW8pk/Js4MR05XSN+FZgim+iFP/GLoobuIxTE00w+M+1XskdraOxI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=glYUhfC9; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="glYUhfC9" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1755806882; 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: in-reply-to:in-reply-to:references:references; bh=w6VkvDa+3msZeC5nA9B9+aDln+Mg2ABReefULBX94/4=; b=glYUhfC95petK0g5XrmQqYibeCae0kE3MpZihKeJV8jNJrpscbhkHUJwNAsM28tKpbZZ/r FyLWJNJ0Ycg9t1aPfnZAxQZXYhnlMiG6xb3Y+qQtL9O0qv+NQ6inT7R4n3z6FF1nNZPcX5 PWLnz9NTz+1zXwHnT4B+1V48Ow0Poxk= Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-306-hKlYy2QAOEq6AAunO5r9fA-1; Thu, 21 Aug 2025 16:08:01 -0400 X-MC-Unique: hKlYy2QAOEq6AAunO5r9fA-1 X-Mimecast-MFC-AGG-ID: hKlYy2QAOEq6AAunO5r9fA_1755806880 Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-45a15f10f31so14273765e9.0 for ; Thu, 21 Aug 2025 13:08:01 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755806880; x=1756411680; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=w6VkvDa+3msZeC5nA9B9+aDln+Mg2ABReefULBX94/4=; b=wnkyfbKTMc8t4wxZ+0LirYw9HKAfNpiy72WQUgihzbppZleMiEgNX2BWXQWKxN2TJs amQEQfhfaV4iP39YNZTn7Vx+RfTSUjmEdbMgjZhTYVyR48GVtCOF5YK4RgCAg7ayQCBu pI58y3+p+VIsWGFZfoOmRNQOl9qlPE91gDSUhAEUAowjGW5zeDmYylhxoFi9Mb5T0VUx U0wsBBTtWidakYb5wwtvgBOP+RHNhcvUhC0NA2fja9Ltgn+JRLLZqc/DfJjGdYU62oqT huAtnKGrHprlWuxfzmbXaGHZGij3XhRG/EUokBcjMkVbyrfDh5ihJ2T4kGZ1JfcqAeQF axig== X-Gm-Message-State: AOJu0YxCb8ZiW8xQH1C3GKcITFcmXnx1tvXqsPPxDuiHOTZo91NpmYHf rVfTlNS7HjTWQdSJULPO7WfDirMkI1iFU8mNqRpzb678Hwd+xwStKwhLgLwjlYW91r/MILRd8Mk evvOkfPy8o7iJHtuouR6SBGikx2e8nJsfV/l3ZjZOD3eCp4k0R3rqE4F+B2jMfQ2pthdn6nFMDf dxOxuTDXIKY+BO0KeDxl1M7S6LVc/e8nhWCxJcw8UUHz+csc1v X-Gm-Gg: ASbGncsqAXBDDqOOa7MQe2kImOe4+kUqtOisHMscFdl8KIePJgFsu2QS/CkKifMBmVl Lgb7BWnT9bczDFUchhoTPQ/79IIe5+ACoAORBACLI0g6TGfHrDYMLQOAZDp7p2h6yHGDkh4pr37 jCVQHMtGiJQkqzPIBC5HEklJagrsiRTzIRKxJWoRzu3NNDcmyLgtE8T7HgCoq1IXFVFpQk091Ey dKxU95cxYvIhl88ITwx09xG4B2JX9qFoBlujZHWdEJ+432UxfKhgVGKSSLF+qTpzucJMfBWqLgL 2GiK7IanRkSQ/bVIDad7aCFY3tKxzeeHgi98brQ9u9nFNjKbCyxp8Vqg1UHSXHPhwfXxB0I+Qp6 Ko+/ItePIIaciccROIRJayw== X-Received: by 2002:a05:600c:1c87:b0:456:942:b162 with SMTP id 5b1f17b1804b1-45b51792539mr3329055e9.11.1755806880151; Thu, 21 Aug 2025 13:08:00 -0700 (PDT) X-Google-Smtp-Source: AGHT+IG9ciI0WdoI3CxhUtu7m/cESVsdReJmvmXFWCMaWsO+hhXySreox2GeOL2sJ8kVyLPwCYhbEA== X-Received: by 2002:a05:600c:1c87:b0:456:942:b162 with SMTP id 5b1f17b1804b1-45b51792539mr3328365e9.11.1755806879543; Thu, 21 Aug 2025 13:07:59 -0700 (PDT) Received: from localhost (p200300d82f26ba0008036ec5991806fd.dip0.t-ipconnect.de. [2003:d8:2f26:ba00:803:6ec5:9918:6fd]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-3c07778939bsm12219075f8f.46.2025.08.21.13.07.57 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 21 Aug 2025 13:07:59 -0700 (PDT) From: David Hildenbrand To: linux-kernel@vger.kernel.org Cc: David Hildenbrand , Jens Axboe , Alexander Potapenko , Andrew Morton , Brendan Jackman , Christoph Lameter , Dennis Zhou , Dmitry Vyukov , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, iommu@lists.linux.dev, io-uring@vger.kernel.org, Jason Gunthorpe , Johannes Weiner , John Hubbard , kasan-dev@googlegroups.com, kvm@vger.kernel.org, "Liam R. Howlett" , Linus Torvalds , linux-arm-kernel@axis.com, linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-ide@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mips@vger.kernel.org, linux-mmc@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, Lorenzo Stoakes , Marco Elver , Marek Szyprowski , Michal Hocko , Mike Rapoport , Muchun Song , netdev@vger.kernel.org, Oscar Salvador , Peter Xu , Robin Murphy , Suren Baghdasaryan , Tejun Heo , virtualization@lists.linux.dev, Vlastimil Babka , wireguard@lists.zx2c4.com, x86@kernel.org, Zi Yan Subject: [PATCH RFC 19/35] io_uring/zcrx: remove nth_page() usage within folio Date: Thu, 21 Aug 2025 22:06:45 +0200 Message-ID: <20250821200701.1329277-20-david@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250821200701.1329277-1-david@redhat.com> References: <20250821200701.1329277-1-david@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Within a folio/compound page, nth_page() is no longer required. Given that we call folio_test_partial_kmap()+kmap_local_page(), the code would already be problematic if the src_pages would span multiple folios. So let's just assume that all src pages belong to a single folio/compound page and can be iterated ordinarily. Cc: Jens Axboe Signed-off-by: David Hildenbrand --- io_uring/zcrx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/io_uring/zcrx.c b/io_uring/zcrx.c index f29b2a4867516..107b2a1b31c1c 100644 --- a/io_uring/zcrx.c +++ b/io_uring/zcrx.c @@ -966,7 +966,7 @@ static ssize_t io_copy_page(struct page *dst_page, stru= ct page *src_page, size_t n =3D len; =20 if (folio_test_partial_kmap(page_folio(src_page))) { - src_page =3D nth_page(src_page, src_offset / PAGE_SIZE); + src_page +=3D src_offset / PAGE_SIZE; src_offset =3D offset_in_page(src_offset); n =3D min(PAGE_SIZE - src_offset, PAGE_SIZE - dst_offset); n =3D min(n, len); --=20 2.50.1 From nobody Sat Oct 4 00:27:00 2025 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B3A0736932A for ; Thu, 21 Aug 2025 20:08:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806888; cv=none; b=NZ/hgCCdUSPIQOdBHapcCje3wYqaZpJNKZweQGwnDV+N+xzKzzYVCvn1riOrWoYkjAZmYUR0FO5N2i6PWp24tZpsLMn2M7Ny9DiPCY3CPmNaHXakytr094IXPp1am1nAiS5Tni5kZumzFl1FMbp0XIK31jYCj3DoL9FHjrwFZxc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806888; c=relaxed/simple; bh=3RfOoWzbZTj8EGhrr7OVQfmCtFM6TSZBuGB7jdppkcE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=WGq3BSpn8aNKFabK8e6wpKy0DgwUAsKNmU9PniNxCMv7vbzLnxkuhIUl2gQlpzZUOKPJQtlyKQwR2jTk51jPz6g105wOxxJMpCGZjEbhveoZPl+s9Q3buPFhpsC1H53+OgKK2Il2qDxFcLoTCce7GyjC/fXMuUiWH7xhjE+C0FE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=MvbdMBfT; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="MvbdMBfT" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1755806885; 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: in-reply-to:in-reply-to:references:references; bh=jaRFM4K4Pg6WYlxhcM2k1BGbQ/DW6XfjnDsCttbmjXY=; b=MvbdMBfTqdQ6okRujD8N1OXYa2zAJvzXIHBmxWowKdCygcxHEOVS3cacfsv5FgttnyWel7 eNuVNqoQpBxAi7bZCHh/sOwRxNqPvOslOKiwYFH4vLVIhewU6XekHVlqwCw6y0KeanfO9F 3a7le6bkXupTPyaTbxCMdx5tgWinoNw= Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-68-Iv1SaqB2MFyW3lT9fkHM-A-1; Thu, 21 Aug 2025 16:08:04 -0400 X-MC-Unique: Iv1SaqB2MFyW3lT9fkHM-A-1 X-Mimecast-MFC-AGG-ID: Iv1SaqB2MFyW3lT9fkHM-A_1755806883 Received: by mail-wr1-f72.google.com with SMTP id ffacd0b85a97d-3b9dc566cb4so996492f8f.1 for ; Thu, 21 Aug 2025 13:08:03 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755806883; x=1756411683; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=jaRFM4K4Pg6WYlxhcM2k1BGbQ/DW6XfjnDsCttbmjXY=; b=G6ox7cNjOj9AEopFS1UBEkH23C1ggp8AlcRQi9HYdJGGv+mluhcLAfHpHPSozoxtTF BVyQvzUSNKn46pkHqsZDLtJIkN1EBQLpBHeLXVEUzKtUXxakB21C3xNvRK2fa2nuewfT n7rdMpmULYwKS++RLQGZZB1F7WPDVMuI3FssZOREPmsJ++xbU6Bptq1dfcbPHgtSAtLq 7VnT4DdaA2Df5gbK+GVhAksihgmYrRq8q5qb4/l+GrS1h2Jm/FVkf6R96my28C/Y0ums /6fQUBnfAujLRIx0aVQ9Tsy+8MGtNIx7wOqSusw1ALiHCkb2PAGE3wrUIKvXrv4J2gpg ePTQ== X-Gm-Message-State: AOJu0YxcIsxIy1QiOSOB88HTfSTCTR2xQNVMEAGO1bic3QfE1fH9768T bgrsKWr/e2KTPvX3Ts/jAnW+VVhEcGS8y18Glh2F3Y+NJrvoApJXwtlLSvk8C2NkHcNJDxJwWdG w9VmK3ZdaASeHlcObwIW3ii6Gtt7DgKHDtwNaFl9wgb2+TfNM2fBqmkLr6iAYW8aG1V16nnXdz8 e9kNxGSgflppSFkutxE7bCGCTTJ6yxMWiQCktHVdqCnBti/kef X-Gm-Gg: ASbGncv1vRMWr31NU2cZ1WPhPAzxJlaYi6QvrEml9qh1DTOYjSjX0KfU6lX0j5jbIPs b27J//wThLYANluiVrkopdoafUQDOgdG+e5Qa0+L927p7NE7QvNmz5liiHJdKn0WehbTY1KzxAA uS9IdxaQ8m2y78rb4gKyXVebYc1QjCiXi9M+oyCIC766riUaR8/0PFhtD8xrrGBAnmIScgpcJAg cbM4lXzkvkMbXP3IFHPc4TkwKpxfhb5x3oxTh34TZN0I4919OcWR7N1PMsdfXtFJWzFtoHOmZr/ 6q8c5EmLOFJ9A8Y2g061OclsevRTVJg3NnQlww8YLsVJbVxSqbK0lq4rhTfuDVUDregPcFkBEGw 7OOCG1sO64+BLTeeQ84BlqA== X-Received: by 2002:a05:6000:2012:b0:3b7:dd87:d741 with SMTP id ffacd0b85a97d-3c5dcc095c3mr196222f8f.42.1755806882879; Thu, 21 Aug 2025 13:08:02 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFiRO9AsztHDXjXXwtKcCswXKV/HQQvQjujQOlltIgK9F5s1Ca8ikdDYrX2bvCVEtKZoFK6NA== X-Received: by 2002:a05:6000:2012:b0:3b7:dd87:d741 with SMTP id ffacd0b85a97d-3c5dcc095c3mr196155f8f.42.1755806882316; Thu, 21 Aug 2025 13:08:02 -0700 (PDT) Received: from localhost (p200300d82f26ba0008036ec5991806fd.dip0.t-ipconnect.de. [2003:d8:2f26:ba00:803:6ec5:9918:6fd]) by smtp.gmail.com with UTF8SMTPSA id 5b1f17b1804b1-45b50e0b299sm8957945e9.22.2025.08.21.13.08.00 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 21 Aug 2025 13:08:01 -0700 (PDT) From: David Hildenbrand To: linux-kernel@vger.kernel.org Cc: David Hildenbrand , Thomas Bogendoerfer , Alexander Potapenko , Andrew Morton , Brendan Jackman , Christoph Lameter , Dennis Zhou , Dmitry Vyukov , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, iommu@lists.linux.dev, io-uring@vger.kernel.org, Jason Gunthorpe , Jens Axboe , Johannes Weiner , John Hubbard , kasan-dev@googlegroups.com, kvm@vger.kernel.org, "Liam R. Howlett" , Linus Torvalds , linux-arm-kernel@axis.com, linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-ide@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mips@vger.kernel.org, linux-mmc@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, Lorenzo Stoakes , Marco Elver , Marek Szyprowski , Michal Hocko , Mike Rapoport , Muchun Song , netdev@vger.kernel.org, Oscar Salvador , Peter Xu , Robin Murphy , Suren Baghdasaryan , Tejun Heo , virtualization@lists.linux.dev, Vlastimil Babka , wireguard@lists.zx2c4.com, x86@kernel.org, Zi Yan Subject: [PATCH RFC 20/35] mips: mm: convert __flush_dcache_pages() to __flush_dcache_folio_pages() Date: Thu, 21 Aug 2025 22:06:46 +0200 Message-ID: <20250821200701.1329277-21-david@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250821200701.1329277-1-david@redhat.com> References: <20250821200701.1329277-1-david@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Let's make it clearer that we are operating within a single folio by providing both the folio and the page. This implies that for flush_dcache_folio() we'll now avoid one more page->folio lookup, and that we can safely drop the "nth_page" usage. Cc: Thomas Bogendoerfer Signed-off-by: David Hildenbrand --- arch/mips/include/asm/cacheflush.h | 11 +++++++---- arch/mips/mm/cache.c | 8 ++++---- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/arch/mips/include/asm/cacheflush.h b/arch/mips/include/asm/cac= heflush.h index 1f14132b3fc98..8a2de28936e07 100644 --- a/arch/mips/include/asm/cacheflush.h +++ b/arch/mips/include/asm/cacheflush.h @@ -50,13 +50,14 @@ extern void (*flush_cache_mm)(struct mm_struct *mm); extern void (*flush_cache_range)(struct vm_area_struct *vma, unsigned long start, unsigned long end); extern void (*flush_cache_page)(struct vm_area_struct *vma, unsigned long = page, unsigned long pfn); -extern void __flush_dcache_pages(struct page *page, unsigned int nr); +extern void __flush_dcache_folio_pages(struct folio *folio, struct page *p= age, unsigned int nr); =20 #define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 1 static inline void flush_dcache_folio(struct folio *folio) { if (cpu_has_dc_aliases) - __flush_dcache_pages(&folio->page, folio_nr_pages(folio)); + __flush_dcache_folio_pages(folio, folio_page(folio, 0), + folio_nr_pages(folio)); else if (!cpu_has_ic_fills_f_dc) folio_set_dcache_dirty(folio); } @@ -64,10 +65,12 @@ static inline void flush_dcache_folio(struct folio *fol= io) =20 static inline void flush_dcache_page(struct page *page) { + struct folio *folio =3D page_folio(page); + if (cpu_has_dc_aliases) - __flush_dcache_pages(page, 1); + __flush_dcache_folio_pages(folio, page, folio_nr_pages(folio)); else if (!cpu_has_ic_fills_f_dc) - folio_set_dcache_dirty(page_folio(page)); + folio_set_dcache_dirty(folio); } =20 #define flush_dcache_mmap_lock(mapping) do { } while (0) diff --git a/arch/mips/mm/cache.c b/arch/mips/mm/cache.c index bf9a37c60e9f0..e3b4224c9a406 100644 --- a/arch/mips/mm/cache.c +++ b/arch/mips/mm/cache.c @@ -99,9 +99,9 @@ SYSCALL_DEFINE3(cacheflush, unsigned long, addr, unsigned= long, bytes, return 0; } =20 -void __flush_dcache_pages(struct page *page, unsigned int nr) +void __flush_dcache_folio_pages(struct folio *folio, struct page *page, + unsigned int nr) { - struct folio *folio =3D page_folio(page); struct address_space *mapping =3D folio_flush_mapping(folio); unsigned long addr; unsigned int i; @@ -117,12 +117,12 @@ void __flush_dcache_pages(struct page *page, unsigned= int nr) * get faulted into the tlb (and thus flushed) anyways. */ for (i =3D 0; i < nr; i++) { - addr =3D (unsigned long)kmap_local_page(nth_page(page, i)); + addr =3D (unsigned long)kmap_local_page(page + i); flush_data_cache_page(addr); kunmap_local((void *)addr); } } -EXPORT_SYMBOL(__flush_dcache_pages); +EXPORT_SYMBOL(__flush_dcache_folio_pages); =20 void __flush_anon_page(struct page *page, unsigned long vmaddr) { --=20 2.50.1 From nobody Sat Oct 4 00:27:00 2025 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3FD6536CC9C for ; Thu, 21 Aug 2025 20:08:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806897; cv=none; b=DGWegA9eWPncunfJYb5NzwQfg77MiyqH14aRPtWxHSjfCK4fzmBzf4h/9K12ftP0dByg7vdxAasVa0pndmJnVieROyWJAx+irW88jlxofdLfZvyYTB2wasprNS+vicTQHQBNTXmskJB2mu6DmeiWSVMXnwqod/4YZsqUdFO3/t4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806897; c=relaxed/simple; bh=u7U0E5UNosH6c7PaP/scUrTgiGRReCYM/RkOjp4OjeY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=XpGQwc9R1+cTvDhEnVdcnEKjwpYvvQxZeErOanX1WX7kARqZOvxsK1o+EJlBQTVAMwH8eSka2NBvI/B2gLwTb/AYH5d5rHGPe9F+4MH4EsykyTeio16n0GFywh7Jvt86MFNN1m2eK85t2HNoJEX7ehncBhvujPoAovgj8M8q9vA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=HjlGJHaU; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="HjlGJHaU" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1755806894; 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: in-reply-to:in-reply-to:references:references; bh=OlD9YGSFbsAaeSHrs+lmfmp3eNVZAqkWDWaUN3GbxpI=; b=HjlGJHaUfnM22gtUtdDOyrUJYTp9KYUZDkssNX+JAveWv5ClZuiokUR5Tbq4/1vIrpv6q6 LyTaPaCSslXLduG6pfpS4+wSz91LzNm9yqG8xS0UhZJYLOrHt/199MJ6l4q/EDzW4rHb0y uNNGYOLfXxNSInyZLn1+6+m7fy57GIc= Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-214-AlpeNxZpPmK9k-HcLnpiFQ-1; Thu, 21 Aug 2025 16:08:07 -0400 X-MC-Unique: AlpeNxZpPmK9k-HcLnpiFQ-1 X-Mimecast-MFC-AGG-ID: AlpeNxZpPmK9k-HcLnpiFQ_1755806886 Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-3b9dc5c2ba0so675619f8f.1 for ; Thu, 21 Aug 2025 13:08:07 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755806886; x=1756411686; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=OlD9YGSFbsAaeSHrs+lmfmp3eNVZAqkWDWaUN3GbxpI=; b=L5A/vV30oCcUJZlzAy92vFjEZi7tn5JvRaWQOiphhU/RHO+eYubvETkHzkg8qR1l2Z teZqkUIzPZt+9Onn33PUjmTLSj7Rxylcj/fTwNuOvjz3g7VrP1PawwSbvBwiRF2AM5Va lG0TA5bqvrfzC6Lw3D5p0mY+w5+/mEwLmaRqOVsucM/Ug4979VeWVxto5ic8YJSsPRIV Apzhku9TwkX0pnbya/nE7y/VbWpW2bnX/9MdoXobl1rL0nqgcy1iHVZN/Z3bPbarWGb4 IxN0HwQ1AphS/+1CqkDA3E26Ms79/DYXKRozBMAYawyr2YfEQ3AhWR0kpiv8INBMp11y fiCQ== X-Gm-Message-State: AOJu0YzkM0FUTN3mCU5gnx2tSlVQRX4/GPxAJ/xo7CdPjdeTql39Yw6I WT6WsnaSzw2N1HtGuAFy3fQ7Xo8o6m0lJjiWBvYKkgnjZ69VhKq0GIo1g2sGYj3CX/RM423U6q2 umB28EoweXl5QhtYxh3DcUwROnCJ/3BQci0arYB7e206j7KGIbrq3V1DQcYa5a5x3BgtZHGIzWZ fOhRz2ZLT4V3NXRFb/ElfvcK3hqzveCDuGDRQYGlwevRAVE5UB X-Gm-Gg: ASbGncv12y+/jALLkiDJ6VeB3NSmHyoya5zN3T33V/uU0Anq3LSZrOU29GALJd+wYzt 50dRiGRdhblxwLJrOSiqLc17aibbdBUzWi9emQhvqn18SMDCo01f/qIeXtHmuH5JN3nXXJ2kGhh 7rdQDLytDOgTaVwNNrNdVHw5zhF7RR6GnL7NA31FAjv1rfBaxR6A+0cxEo+3w54x/XV6dsohHHt 6bSa6P1s7EG4ayWsRigYIoLgqBGxWFXzXaugP9ACPxeqzNRnx+ib5JP+MmyoOzVUJq0TsRpZiYO WQ3MfBA2m+DW1E+8+IzJxi3fVi4tjgk3kklyJLCRbPF6pvNYYpeNu8BpVdpVn7QRkHDVt8Wyn4T De8JkToVU4ty8Yb9lFRGbig== X-Received: by 2002:a5d:5849:0:b0:3b7:94c6:7c9 with SMTP id ffacd0b85a97d-3c5db4ca226mr187852f8f.27.1755806886318; Thu, 21 Aug 2025 13:08:06 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEN2zPHDTqkDZIT/HT3QVvSDWvKglll+HTpAUltvzBh+S3AYz2M0rKfptvzXjL7aLPeFpS91Q== X-Received: by 2002:a5d:5849:0:b0:3b7:94c6:7c9 with SMTP id ffacd0b85a97d-3c5db4ca226mr187788f8f.27.1755806885705; Thu, 21 Aug 2025 13:08:05 -0700 (PDT) Received: from localhost (p200300d82f26ba0008036ec5991806fd.dip0.t-ipconnect.de. [2003:d8:2f26:ba00:803:6ec5:9918:6fd]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-3c077789d1dsm12697993f8f.49.2025.08.21.13.08.03 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 21 Aug 2025 13:08:05 -0700 (PDT) From: David Hildenbrand To: linux-kernel@vger.kernel.org Cc: David Hildenbrand , Alexander Potapenko , Andrew Morton , Brendan Jackman , Christoph Lameter , Dennis Zhou , Dmitry Vyukov , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, iommu@lists.linux.dev, io-uring@vger.kernel.org, Jason Gunthorpe , Jens Axboe , Johannes Weiner , John Hubbard , kasan-dev@googlegroups.com, kvm@vger.kernel.org, "Liam R. Howlett" , Linus Torvalds , linux-arm-kernel@axis.com, linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-ide@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mips@vger.kernel.org, linux-mmc@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, Lorenzo Stoakes , Marco Elver , Marek Szyprowski , Michal Hocko , Mike Rapoport , Muchun Song , netdev@vger.kernel.org, Oscar Salvador , Peter Xu , Robin Murphy , Suren Baghdasaryan , Tejun Heo , virtualization@lists.linux.dev, Vlastimil Babka , wireguard@lists.zx2c4.com, x86@kernel.org, Zi Yan Subject: [PATCH RFC 21/35] mm/cma: refuse handing out non-contiguous page ranges Date: Thu, 21 Aug 2025 22:06:47 +0200 Message-ID: <20250821200701.1329277-22-david@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250821200701.1329277-1-david@redhat.com> References: <20250821200701.1329277-1-david@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Let's disallow handing out PFN ranges with non-contiguous pages, so we can remove the nth-page usage in __cma_alloc(), and so any callers don't have to worry about that either when wanting to blindly iterate pages. This is really only a problem in configs with SPARSEMEM but without SPARSEMEM_VMEMMAP, and only when we would cross memory sections in some cases. Will this cause harm? Probably not, because it's mostly 32bit that does not support SPARSEMEM_VMEMMAP. If this ever becomes a problem we could look into allocating the memmap for the memory sections spanned by a single CMA region in one go from memblock. Signed-off-by: David Hildenbrand Reviewed-by: Alexandru Elisei --- include/linux/mm.h | 6 ++++++ mm/cma.c | 36 +++++++++++++++++++++++------------- mm/util.c | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 62 insertions(+), 13 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h index ef360b72cb05c..f59ad1f9fc792 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -209,9 +209,15 @@ extern unsigned long sysctl_user_reserve_kbytes; extern unsigned long sysctl_admin_reserve_kbytes; =20 #if defined(CONFIG_SPARSEMEM) && !defined(CONFIG_SPARSEMEM_VMEMMAP) +bool page_range_contiguous(const struct page *page, unsigned long nr_pages= ); #define nth_page(page,n) pfn_to_page(page_to_pfn((page)) + (n)) #else #define nth_page(page,n) ((page) + (n)) +static inline bool page_range_contiguous(const struct page *page, + unsigned long nr_pages) +{ + return true; +} #endif =20 /* to align the pointer to the (next) page boundary */ diff --git a/mm/cma.c b/mm/cma.c index 2ffa4befb99ab..1119fa2830008 100644 --- a/mm/cma.c +++ b/mm/cma.c @@ -780,10 +780,8 @@ static int cma_range_alloc(struct cma *cma, struct cma= _memrange *cmr, unsigned long count, unsigned int align, struct page **pagep, gfp_t gfp) { - unsigned long mask, offset; - unsigned long pfn =3D -1; - unsigned long start =3D 0; unsigned long bitmap_maxno, bitmap_no, bitmap_count; + unsigned long start, pfn, mask, offset; int ret =3D -EBUSY; struct page *page =3D NULL; =20 @@ -795,7 +793,7 @@ static int cma_range_alloc(struct cma *cma, struct cma_= memrange *cmr, if (bitmap_count > bitmap_maxno) goto out; =20 - for (;;) { + for (start =3D 0; ; start =3D bitmap_no + mask + 1) { spin_lock_irq(&cma->lock); /* * If the request is larger than the available number @@ -812,6 +810,22 @@ static int cma_range_alloc(struct cma *cma, struct cma= _memrange *cmr, spin_unlock_irq(&cma->lock); break; } + + pfn =3D cmr->base_pfn + (bitmap_no << cma->order_per_bit); + page =3D pfn_to_page(pfn); + + /* + * Do not hand out page ranges that are not contiguous, so + * callers can just iterate the pages without having to worry + * about these corner cases. + */ + if (!page_range_contiguous(page, count)) { + spin_unlock_irq(&cma->lock); + pr_warn_ratelimited("%s: %s: skipping incompatible area [0x%lx-0x%lx]", + __func__, cma->name, pfn, pfn + count - 1); + continue; + } + bitmap_set(cmr->bitmap, bitmap_no, bitmap_count); cma->available_count -=3D count; /* @@ -821,29 +835,25 @@ static int cma_range_alloc(struct cma *cma, struct cm= a_memrange *cmr, */ spin_unlock_irq(&cma->lock); =20 - pfn =3D cmr->base_pfn + (bitmap_no << cma->order_per_bit); mutex_lock(&cma->alloc_mutex); ret =3D alloc_contig_range(pfn, pfn + count, ACR_FLAGS_CMA, gfp); mutex_unlock(&cma->alloc_mutex); - if (ret =3D=3D 0) { - page =3D pfn_to_page(pfn); + if (!ret) break; - } =20 cma_clear_bitmap(cma, cmr, pfn, count); if (ret !=3D -EBUSY) break; =20 pr_debug("%s(): memory range at pfn 0x%lx %p is busy, retrying\n", - __func__, pfn, pfn_to_page(pfn)); + __func__, pfn, page); =20 trace_cma_alloc_busy_retry(cma->name, pfn, pfn_to_page(pfn), count, align); - /* try again with a bit different memory target */ - start =3D bitmap_no + mask + 1; } out: - *pagep =3D page; + if (!ret) + *pagep =3D page; return ret; } =20 @@ -882,7 +892,7 @@ static struct page *__cma_alloc(struct cma *cma, unsign= ed long count, */ if (page) { for (i =3D 0; i < count; i++) - page_kasan_tag_reset(nth_page(page, i)); + page_kasan_tag_reset(page + i); } =20 if (ret && !(gfp & __GFP_NOWARN)) { diff --git a/mm/util.c b/mm/util.c index d235b74f7aff7..0bf349b19b652 100644 --- a/mm/util.c +++ b/mm/util.c @@ -1280,4 +1280,37 @@ unsigned int folio_pte_batch(struct folio *folio, pt= e_t *ptep, pte_t pte, { return folio_pte_batch_flags(folio, NULL, ptep, &pte, max_nr, 0); } + +#if defined(CONFIG_SPARSEMEM) && !defined(CONFIG_SPARSEMEM_VMEMMAP) +/** + * page_range_contiguous - test whether the page range is contiguous + * @page: the start of the page range. + * @nr_pages: the number of pages in the range. + * + * Test whether the page range is contiguous, such that they can be iterat= ed + * naively, corresponding to iterating a contiguous PFN range. + * + * This function should primarily only be used for debug checks, or when + * working with page ranges that are not naturally contiguous (e.g., pages + * within a folio are). + * + * Returns true if contiguous, otherwise false. + */ +bool page_range_contiguous(const struct page *page, unsigned long nr_pages) +{ + const unsigned long start_pfn =3D page_to_pfn(page); + const unsigned long end_pfn =3D start_pfn + nr_pages; + unsigned long pfn; + + /* + * The memmap is allocated per memory section. We need to check + * each involved memory section once. + */ + for (pfn =3D ALIGN(start_pfn, PAGES_PER_SECTION); + pfn < end_pfn; pfn +=3D PAGES_PER_SECTION) + if (unlikely(page + (pfn - start_pfn) !=3D pfn_to_page(pfn))) + return false; + return true; +} +#endif #endif /* CONFIG_MMU */ --=20 2.50.1 From nobody Sat Oct 4 00:27:00 2025 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4B54036932C for ; Thu, 21 Aug 2025 20:08:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806895; cv=none; b=gBgPLqvKeqtLWTx9O+HU5mbZs5zHTEdF6nOa2PmM7DsMCJ2aEkQ+/JBOm/jPZ/R4K3frWWSfj2RTQ9SbSg5YAGkLrTAdj8MX90r5q7OFWnPtgE5RX2DIwT7Ie32icgMskFjhO7z+xjlOm3cD88fMEaLMCWZvvS4vFV1qqdADUzQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806895; c=relaxed/simple; bh=35i5s1BcLEONuxohRPeqiFHOreLIpfTF289+ZIXZu/s=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=D8gFAGS5Q7VjzlclU6oSlPbHMYPB7TM7ssWGe8PKEtgrRTI7CA88WPM/Rr91o9a7l2MUp7+n2LoPJ9BDBDBDj2Dot0u/Rxsj768TCG7dPL1Ai/QEifj1NVtrQaZhv5HBPgTKP4cgFCUs1y7pCKh0BraLwa0+HY+9S9RAVkaEyo4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=iy3wgKBi; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="iy3wgKBi" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1755806891; 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: in-reply-to:in-reply-to:references:references; bh=Pq6EMCEhMXNA7HGNe/O1qYHWHhWZrBzRdRZ7YmKumJw=; b=iy3wgKBi03EyZ3sRdRWSgr84psZuJtpBypQHP7law3eYFY+FVr08x31c3sGqpwjxqAGmTX xqBGUqiu8RyAPg93w1dvnEzol1HjwjQI/m6o382BgrH/D7lRFhyqnnqDsexkYq33pFBhbr yj7lMaG4r48RcxYaH/qGbQzbdKtKz3w= Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-509-UgXLA51iMOutDfu0UiGM5w-1; Thu, 21 Aug 2025 16:08:10 -0400 X-MC-Unique: UgXLA51iMOutDfu0UiGM5w-1 X-Mimecast-MFC-AGG-ID: UgXLA51iMOutDfu0UiGM5w_1755806889 Received: by mail-wr1-f72.google.com with SMTP id ffacd0b85a97d-3b9dc5c2820so445389f8f.1 for ; Thu, 21 Aug 2025 13:08:10 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755806889; x=1756411689; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Pq6EMCEhMXNA7HGNe/O1qYHWHhWZrBzRdRZ7YmKumJw=; b=kuZvXqaZ8Bgcy42E0vujeGoRPZSGtfG1pBSDejLJP1REyHMB0/bAtC3WauLhbCErLF hkM6ZO7/sijpN31RXYkX6UYnlhcNKbpiso89Jb5A8KgtyWSQqifGD/KAHckP4zzU8mET 74aY0g8+oTKbSrBpWUBzKULOb/7VJsO0Lh9595asaS5EOPhAaah7j1xXdSwLokzw6JD+ HTGNAneWy9sBn/3G9mb+OYL4a3Sxkyf+uI9Z1e0b0BrJ6yfNJEq4hkLMgKhzJrTuGquW HkQqyNaOCTbTNva73yCruzMVAWF6zzlqJX4qUXI3XsCA22UGLEaqFN6s34T4Y0CFifsP lN9Q== X-Gm-Message-State: AOJu0Yxy6Ho40MGxrocTFzyQ68Ka7k8zBn2WsclGmChLgVNz97wdn0ex PozUWg99Rwy/nts+7Hn24i5ptTFhrvEOVHGUwf+sDlsX+m7IpH98+D2cBPQsDRX8bStnCRv3Die cOh3GlgodZozt/wxGb3OUB5ZD4uAiqv0QFCUdiSZvkYV0d4qv2Hg8RGIpvB+wQXlL6Nm71wLntW iIyrBgLlMh/TsxpZnhbcF9N9QicZJu2Um+9sz6Xdsr4rpENB/D X-Gm-Gg: ASbGncsArr6kttrQ8vn44s77taZCKCepOL5mB5jS1UGMGLcMKp1oIHzyvQx2s+WTuWK 26eEzojaT9IPwoQaWajDQcFOzzLkmcuSDr/E8kzIPm8way8TsKLz1UBmEk06X6rkrR62ETbR8lE dYdd5J2NMsKr0GqP49W99SXCj8D+7D755nzQ1keWLBlk25ZzMBWl1wkr/ZCBpDck6FxLpkUPvRY 1BbjJ7dO9V20TuW3kgKqVU+2IhIPjveWV4FupB0MOoK+7aMLefNLfEDHj39EvFC9PkB9Ybln20V sy9s1UYyf/BPMkVhcWQWouLZiLl0AAXFIGBK7ybGFajQ9z/03mpWOLOTiZbbzlUm5sFYEoBHWWd YtlO+n8a4PvpN2jxaZdbT/g== X-Received: by 2002:a05:6000:40c9:b0:3b7:911c:83f with SMTP id ffacd0b85a97d-3c5da83bf5bmr151977f8f.9.1755806888979; Thu, 21 Aug 2025 13:08:08 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGeHEkncn914iQLB6IDJFbFllUgyuseH1VcCPvg+Bdgchh7CcvmYDhAXktPsYS0hqHcr6hQuQ== X-Received: by 2002:a05:6000:40c9:b0:3b7:911c:83f with SMTP id ffacd0b85a97d-3c5da83bf5bmr151916f8f.9.1755806888456; Thu, 21 Aug 2025 13:08:08 -0700 (PDT) Received: from localhost (p200300d82f26ba0008036ec5991806fd.dip0.t-ipconnect.de. [2003:d8:2f26:ba00:803:6ec5:9918:6fd]) by smtp.gmail.com with UTF8SMTPSA id 5b1f17b1804b1-45b4e2790a8sm21120815e9.1.2025.08.21.13.08.06 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 21 Aug 2025 13:08:07 -0700 (PDT) From: David Hildenbrand To: linux-kernel@vger.kernel.org Cc: David Hildenbrand , Marek Szyprowski , Robin Murphy , Alexander Potapenko , Andrew Morton , Brendan Jackman , Christoph Lameter , Dennis Zhou , Dmitry Vyukov , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, iommu@lists.linux.dev, io-uring@vger.kernel.org, Jason Gunthorpe , Jens Axboe , Johannes Weiner , John Hubbard , kasan-dev@googlegroups.com, kvm@vger.kernel.org, "Liam R. Howlett" , Linus Torvalds , linux-arm-kernel@axis.com, linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-ide@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mips@vger.kernel.org, linux-mmc@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, Lorenzo Stoakes , Marco Elver , Michal Hocko , Mike Rapoport , Muchun Song , netdev@vger.kernel.org, Oscar Salvador , Peter Xu , Suren Baghdasaryan , Tejun Heo , virtualization@lists.linux.dev, Vlastimil Babka , wireguard@lists.zx2c4.com, x86@kernel.org, Zi Yan Subject: [PATCH RFC 22/35] dma-remap: drop nth_page() in dma_common_contiguous_remap() Date: Thu, 21 Aug 2025 22:06:48 +0200 Message-ID: <20250821200701.1329277-23-david@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250821200701.1329277-1-david@redhat.com> References: <20250821200701.1329277-1-david@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" dma_common_contiguous_remap() is used to remap an "allocated contiguous region". Within a single allocation, there is no need to use nth_page() anymore. Neither the buddy, nor hugetlb, nor CMA will hand out problematic page ranges. Cc: Marek Szyprowski Cc: Robin Murphy Signed-off-by: David Hildenbrand Acked-by: Marek Szyprowski --- kernel/dma/remap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/dma/remap.c b/kernel/dma/remap.c index 9e2afad1c6152..b7c1c0c92d0c8 100644 --- a/kernel/dma/remap.c +++ b/kernel/dma/remap.c @@ -49,7 +49,7 @@ void *dma_common_contiguous_remap(struct page *page, size= _t size, if (!pages) return NULL; for (i =3D 0; i < count; i++) - pages[i] =3D nth_page(page, i); + pages[i] =3D page++; vaddr =3D vmap(pages, count, VM_DMA_COHERENT, prot); kvfree(pages); =20 --=20 2.50.1 From nobody Sat Oct 4 00:27:00 2025 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4E66F36CC9F for ; Thu, 21 Aug 2025 20:08:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806897; cv=none; b=ZgH8areGyzxkNOIH92MLpNseJb1ccRFTEJfJ9HWAcq6EhimOvS1COUDl3yK+fVSEnOKSEx8D269f1BbgzXz2WaZr1mnFQplSQSiyJSaxgwqI9J5R0tohlmLGBaC4pVLdlTYUWXJHMtiTibSWHJHpyuplY2tB4xeju/XnIeLMRw4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806897; c=relaxed/simple; bh=kURokXQjB5Kuo7a6U8usTL1aQ1tfaOTG2Bf9aj2NBoo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=qGpqePNEOsOgo8CVtPszDmo05IfohZrnOptARl3LwCHhINcFmgze3lOMU5nDarFc4RR2MkwEaLQrCxDy9dNeTbuoG4WJpGhUAvx/Q6OyFDTAc0jiqkrxSqhbxFVAwDny4HqMT6hT//l5OKjFc4S83YH0+HCH16jyvxxP+pKoZRY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=Khicoxdz; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="Khicoxdz" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1755806894; 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: in-reply-to:in-reply-to:references:references; bh=NKFS9/TuG2v9AIcAoooIJr3bGKW6zmP0XL+5izT5Y+4=; b=KhicoxdzduubvKuf9Iix+KNDtDzlxsA85V/w/CkCqx1xtIvlyjeP3gOZ/UnD/kHm56z7up eS44Wa9teIG8fACDAtSRj0kPBZVX2cqe191Dx4vfjIoobrYjhQVYZW022ea1CcbPdqagcY qnSL7AEaR1rOqyOpAnE/tpK//DFlKbQ= Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-589-mg9DEy5qOv2QYcKCzi-7Cw-1; Thu, 21 Aug 2025 16:08:13 -0400 X-MC-Unique: mg9DEy5qOv2QYcKCzi-7Cw-1 X-Mimecast-MFC-AGG-ID: mg9DEy5qOv2QYcKCzi-7Cw_1755806892 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-45a1b05d251so7744135e9.1 for ; Thu, 21 Aug 2025 13:08:12 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755806892; x=1756411692; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=NKFS9/TuG2v9AIcAoooIJr3bGKW6zmP0XL+5izT5Y+4=; b=VlZKIj7+lxptiCokNgjKj1D3b5zNbAMWcqotdmZZiRvZKRLS1WN8ANVXNKmZ1lTtA5 tcrqiQum/wk1cMeC9XZejUGXs7F3rUkex+eON7dl33LrWR5SxwgveEJk78AYGCMMsaV5 wFRSFVKme5vtHu/Vs0+wIBZEeclLxYMO5Iv5z1S97/iK41JeuEuqpLyUU2zRhLLbgq9r VN3r+hABJozWHTv+MkbXaSyRnsTaW6MjHcTpLfUg1XfKPvxrpXuhmk2RfCdANbEysjgb Ao2KjRAnXqvD+JfVgIwRtsOXydmjx/uNcvWXkHzGWR9PTUPfzMprYui2xfI4LxOs3HA0 +wIg== X-Gm-Message-State: AOJu0YwWAQwOvH6UFhhNPYRBpeG968bwLWvsDsGU6YCLMcbfPld/Fjex b+qyfsc7KM2GPwX2jwS/qLLFviqqtqFssvQj+skHs4pkSeuwk0t6Sars1iMqPXICXTWj/qRHyHu fioRzI8LFxOkxm07e7W5CRffI2Y0mCON2qINrj2fERHrRu2sXVHqZ+DMW2CDntiOsLh5PB5q1Zv nX0Mt/4G9VaDMcrwpx1trq4rI82VriEtU8bGZ+QwaxBpgWUrj6 X-Gm-Gg: ASbGncuzcS8JGSSNl0lLzlx5kzzscU5t1eCBHxMMFRPlqroHD1PjfknMBQMeTaYC7UA 76jnNoUhSI/6L7PYhBXZg4az91otWgaxHJXGZYHX2rFPnL8xuijsr2EPbrfAYXoJjMQ6pUnr8de SbsIPhuZpQzP4m292uq7ZKlIJqSLJytJTRVEzwVfPsGsGd/CUoQe9j2RTFXXbzcG4UB//N3PzYQ LWCgcV7gjj/WLuLrPpIfvfGnVFlqdp3q596+1Sl+UshqSJPTIrYMVDw9rYqj2EaQHWlZH/+Bhwz fgtXFxg0ZKlnFx3ksuJzLinHNsNU1FfHYDMRHVWoVjMQuQlst1g0WcvycurNdJwDaQWpJyeVcbV dvaeJP6xtHFijwl5xBVNi6g== X-Received: by 2002:a05:600c:1f1a:b0:45b:43cc:e557 with SMTP id 5b1f17b1804b1-45b517cbee2mr2552965e9.34.1755806891874; Thu, 21 Aug 2025 13:08:11 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE/z26sBz7JGLAktk/cnLNnmvA2KmHoRy5M1TseKC0NpCNohvOWfWbiwnk6fyruz4Gv4BdEig== X-Received: by 2002:a05:600c:1f1a:b0:45b:43cc:e557 with SMTP id 5b1f17b1804b1-45b517cbee2mr2552235e9.34.1755806891155; Thu, 21 Aug 2025 13:08:11 -0700 (PDT) Received: from localhost (p200300d82f26ba0008036ec5991806fd.dip0.t-ipconnect.de. [2003:d8:2f26:ba00:803:6ec5:9918:6fd]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-3c0748797acsm12277591f8f.10.2025.08.21.13.08.09 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 21 Aug 2025 13:08:10 -0700 (PDT) From: David Hildenbrand To: linux-kernel@vger.kernel.org Cc: David Hildenbrand , Alexander Potapenko , Andrew Morton , Brendan Jackman , Christoph Lameter , Dennis Zhou , Dmitry Vyukov , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, iommu@lists.linux.dev, io-uring@vger.kernel.org, Jason Gunthorpe , Jens Axboe , Johannes Weiner , John Hubbard , kasan-dev@googlegroups.com, kvm@vger.kernel.org, "Liam R. Howlett" , Linus Torvalds , linux-arm-kernel@axis.com, linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-ide@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mips@vger.kernel.org, linux-mmc@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, Lorenzo Stoakes , Marco Elver , Marek Szyprowski , Michal Hocko , Mike Rapoport , Muchun Song , netdev@vger.kernel.org, Oscar Salvador , Peter Xu , Robin Murphy , Suren Baghdasaryan , Tejun Heo , virtualization@lists.linux.dev, Vlastimil Babka , wireguard@lists.zx2c4.com, x86@kernel.org, Zi Yan Subject: [PATCH RFC 23/35] scatterlist: disallow non-contigous page ranges in a single SG entry Date: Thu, 21 Aug 2025 22:06:49 +0200 Message-ID: <20250821200701.1329277-24-david@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250821200701.1329277-1-david@redhat.com> References: <20250821200701.1329277-1-david@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The expectation is that there is currently no user that would pass in non-contigous page ranges: no allocator, not even VMA, will hand these out. The only problematic part would be if someone would provide a range obtained directly from memblock, or manually merge problematic ranges. If we find such cases, we should fix them to create separate SG entries. Let's check in sg_set_page() that this is really the case. No need to check in sg_set_folio(), as pages in a folio are guaranteed to be contiguous. We can now drop the nth_page() usage in sg_page_iter_page(). Signed-off-by: David Hildenbrand Acked-by: Marek Szyprowski --- include/linux/scatterlist.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/include/linux/scatterlist.h b/include/linux/scatterlist.h index 6f8a4965f9b98..8196949dfc82c 100644 --- a/include/linux/scatterlist.h +++ b/include/linux/scatterlist.h @@ -6,6 +6,7 @@ #include #include #include +#include #include =20 struct scatterlist { @@ -158,6 +159,7 @@ static inline void sg_assign_page(struct scatterlist *s= g, struct page *page) static inline void sg_set_page(struct scatterlist *sg, struct page *page, unsigned int len, unsigned int offset) { + VM_WARN_ON_ONCE(!page_range_contiguous(page, ALIGN(len + offset, PAGE_SIZ= E) / PAGE_SIZE)); sg_assign_page(sg, page); sg->offset =3D offset; sg->length =3D len; @@ -600,7 +602,7 @@ void __sg_page_iter_start(struct sg_page_iter *piter, */ static inline struct page *sg_page_iter_page(struct sg_page_iter *piter) { - return nth_page(sg_page(piter->sg), piter->sg_pgoffset); + return sg_page(piter->sg) + piter->sg_pgoffset; } =20 /** --=20 2.50.1 From nobody Sat Oct 4 00:27:00 2025 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3534D35083D for ; Thu, 21 Aug 2025 20:08:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806901; cv=none; b=ApK5pGNPOd1Tjc9OPuTtZDlriSwbl2xccALBAxw/OBpDR3rjDcB1tuszXETa41uAlRJjLO/D4DQKuhdnGraPYbpSUmc7tDsD+El6AwzS1bpdfVA1sIf7i6HYnoUauxnBcZ5LG4AHWSKV02/Pn/3cQq2EbVyNyzu03nkbpKRtpzs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806901; c=relaxed/simple; bh=o0B/aIsMAhafmNCelOfWp+ALdEBw0Dyti3dxNNba1Sw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=jPHzc4A5t51XhikvOk1xPbp0rUkTVDODrtqtvF2T3Z601AtAWlv28W+pvtXoKj72ribpovaCG2QWEEqD+MYSWodcwLbnPqCfSfpF0Ye54FHeWVfl4+0IYnNPdYu3kXwHESsbw/bjZmKxYLbeti1+Z3u9bgm4dfBOC72s0yhfCz4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=YRfBkWAe; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="YRfBkWAe" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1755806899; 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: in-reply-to:in-reply-to:references:references; bh=qEz5al18caSg7WeU7/xaDhHrA43/vq8xaUIrOF+uMyw=; b=YRfBkWAeztOL1Q/SKT11ysj2K0fkgzFy4T9p1VCsn2hYwldVT+WCG/qOFuae39hBoXitjl 2615ANOaT6SXZHc9usYxcLtHIP/MddL++5E1zeuZX5WlTJrgA6OKdmaR4MDwl5hXuVgErr mody1e/b18kv/G+NGAQs78nd6sckoLU= Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-604-s774A5zyOrqb8eiW74-0Rw-1; Thu, 21 Aug 2025 16:08:16 -0400 X-MC-Unique: s774A5zyOrqb8eiW74-0Rw-1 X-Mimecast-MFC-AGG-ID: s774A5zyOrqb8eiW74-0Rw_1755806895 Received: by mail-wr1-f69.google.com with SMTP id ffacd0b85a97d-3b9e4117542so631252f8f.2 for ; Thu, 21 Aug 2025 13:08:15 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755806894; x=1756411694; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=qEz5al18caSg7WeU7/xaDhHrA43/vq8xaUIrOF+uMyw=; b=XTOP79gPxrWx76a9WNySpErtX3gifdHgPLQtt3uyKL5KicTBphNsH7Iiuj5N5tJorn lHXZ7CQ27ovUqFP+ezePwJPNwBc6bzjqJzP0k++jQp2zUGMnhkdXxLJk5AN324PlA+RD 1DRrQXNxa4xWBTR3f4sh1xvApD1T7Gq924q7vbvtnxAagOhBbh+wU9ES/aEpZzcPN3Fb PbCrgWnUEVhEgCwXqueUk/9ZIWHKKdQw/PMFGTjKED8UkigPea805hBfPvDVP+qwyIPp Kqg6WM9UXPvROmVUf2nn4Tsg7WYygSMJsyJhbX1R+tSQ/joY2RrCVIA1ChdtEGimZFin XNnA== X-Gm-Message-State: AOJu0YyE/qrsw3Yy+61OekZtF4dL/4hD+b/OxFMBiK7Y9cyTgW95/umh GF5CVNJ3QBDkzTg3xaE8SINqYoV4KN5+7KLbIDyHleTHaxZEhGOwfvFtWT5Ug53sUPYZ2G/Nki7 3k3uYZkTDlwqWIrXBLnFbHhKXJrFS9uhGdUrR33t/ayAO/SQTx6Q+a1jXl6M6qEFMbFjPQOgF5K UvQz9oF7Me/L2yIt4HPCJ6MHH5lOoQ3LPRIUKmFSJf4QnU7ffz X-Gm-Gg: ASbGncvjUK/0n6ysAUrtFSopMrzaX74Haz+CkNYQM5qy19IM8xM0xW33yxsRHjlR9RH 3XbFXToZ2rizFxg+VeXrOgkYZi+3ljfpTpDPC+dVua85eibtjfeXUAzrpujJWYwUxQfuxCJb1XA 9JBHJYVTQupPbOgugFQnUCmFtlkid7+gBbTTFtFSfX0h6jdiLaGvQ9kERZdoz+7lNhLBymS/I6L gLswoNv5VS2IlqyKjpbu6EP1yN9xEDukESM552Q+Kp0HrqqMcU4GIMXD1g261k8ti51qcAQB0tj OkWyPKzc0GABZfRYApfyN8wFG18g+TnT5z8TAoCbGPD0JovkgUz+dz5gnMRHod3/f7OQOhAsXlI +pm7MmPKZ4WUAq5Ll4J7HfA== X-Received: by 2002:a05:6000:18ad:b0:3b7:9c79:32bb with SMTP id ffacd0b85a97d-3c5dcdf9bd9mr215869f8f.44.1755806894643; Thu, 21 Aug 2025 13:08:14 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGYrE9N2OTZOZSEOVxEUY9xhX4UsF8UOhI+5wOqBRpd/3VSIxUjVMLdiea20BiXkc+w3FSZ8A== X-Received: by 2002:a05:6000:18ad:b0:3b7:9c79:32bb with SMTP id ffacd0b85a97d-3c5dcdf9bd9mr215789f8f.44.1755806894010; Thu, 21 Aug 2025 13:08:14 -0700 (PDT) Received: from localhost (p200300d82f26ba0008036ec5991806fd.dip0.t-ipconnect.de. [2003:d8:2f26:ba00:803:6ec5:9918:6fd]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-3c074e38d65sm12982954f8f.27.2025.08.21.13.08.12 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 21 Aug 2025 13:08:13 -0700 (PDT) From: David Hildenbrand To: linux-kernel@vger.kernel.org Cc: David Hildenbrand , Damien Le Moal , Niklas Cassel , Alexander Potapenko , Andrew Morton , Brendan Jackman , Christoph Lameter , Dennis Zhou , Dmitry Vyukov , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, iommu@lists.linux.dev, io-uring@vger.kernel.org, Jason Gunthorpe , Jens Axboe , Johannes Weiner , John Hubbard , kasan-dev@googlegroups.com, kvm@vger.kernel.org, "Liam R. Howlett" , Linus Torvalds , linux-arm-kernel@axis.com, linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-ide@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mips@vger.kernel.org, linux-mmc@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, Lorenzo Stoakes , Marco Elver , Marek Szyprowski , Michal Hocko , Mike Rapoport , Muchun Song , netdev@vger.kernel.org, Oscar Salvador , Peter Xu , Robin Murphy , Suren Baghdasaryan , Tejun Heo , virtualization@lists.linux.dev, Vlastimil Babka , wireguard@lists.zx2c4.com, x86@kernel.org, Zi Yan Subject: [PATCH RFC 24/35] ata: libata-eh: drop nth_page() usage within SG entry Date: Thu, 21 Aug 2025 22:06:50 +0200 Message-ID: <20250821200701.1329277-25-david@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250821200701.1329277-1-david@redhat.com> References: <20250821200701.1329277-1-david@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" It's no longer required to use nth_page() when iterating pages within a single SG entry, so let's drop the nth_page() usage. Cc: Damien Le Moal Cc: Niklas Cassel Signed-off-by: David Hildenbrand --- drivers/ata/libata-sff.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/ata/libata-sff.c b/drivers/ata/libata-sff.c index 7fc407255eb46..9f5d0f9f6d686 100644 --- a/drivers/ata/libata-sff.c +++ b/drivers/ata/libata-sff.c @@ -614,7 +614,7 @@ static void ata_pio_sector(struct ata_queued_cmd *qc) offset =3D qc->cursg->offset + qc->cursg_ofs; =20 /* get the current page and offset */ - page =3D nth_page(page, (offset >> PAGE_SHIFT)); + page +=3D offset / PAGE_SHIFT; offset %=3D PAGE_SIZE; =20 /* don't overrun current sg */ @@ -631,7 +631,7 @@ static void ata_pio_sector(struct ata_queued_cmd *qc) unsigned int split_len =3D PAGE_SIZE - offset; =20 ata_pio_xfer(qc, page, offset, split_len); - ata_pio_xfer(qc, nth_page(page, 1), 0, count - split_len); + ata_pio_xfer(qc, page + 1, 0, count - split_len); } else { ata_pio_xfer(qc, page, offset, count); } @@ -751,7 +751,7 @@ static int __atapi_pio_bytes(struct ata_queued_cmd *qc,= unsigned int bytes) offset =3D sg->offset + qc->cursg_ofs; =20 /* get the current page and offset */ - page =3D nth_page(page, (offset >> PAGE_SHIFT)); + page +=3D offset / PAGE_SIZE; offset %=3D PAGE_SIZE; =20 /* don't overrun current sg */ --=20 2.50.1 From nobody Sat Oct 4 00:27:00 2025 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EBDD4371E8B for ; Thu, 21 Aug 2025 20:08:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806903; cv=none; b=kzACLxhkTrnVNF5pyrItoN2nJJP/Kp5uecdlY9pcikLIUHqxGu8rgGw3YKoRB4jKgYmi1tVBpNMmNwZib5hBAdScRcOWYHGybQkkezxyHI7XJkiXQGlFJcFg+gBCnG5ggkPnAk9XbfL/PE4tF1FInPC3zw9mA6496Ikgjb5njss= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806903; c=relaxed/simple; bh=r9aVOOwiYkYkJ2XxN3c4oDiixJCUuv2T31t2h3Fc0ag=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=tK2ZqzQQ6QZbEpM+0KlnxEcnvr25oFxmRwgGW8E6A68k9neWY7OiKAAXtN0V0nXF8uWo9LNJevz4PzdhQeSDHSM65aQ1va+6k/YKG0bfaasoGNxRYrP+5Cnl3jsvIZahS8eY1l0QvwuTXTvRwYWVhAD4kPXY0YB/VEy1hNVtsdA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=N9QEUCIo; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="N9QEUCIo" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1755806900; 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: in-reply-to:in-reply-to:references:references; bh=5INZuVEW8ZoCVRVHt0CSLhpT4h786L9PUsnD4NVlnkc=; b=N9QEUCIogiC101Gz+YwJ7Z7m5vi+HHY9IpUIgjXUtBM7syDWqUJa+AJfAQ5H2r2M43Eqmy 7X1YutAKrYObOYmfElxD2g4NzUtgx8+zzkvc1/UqT6BaZVtJ8gutIyh8VpIRMsMB4esQTN UV0e/P2IDG3ZWLOKyQ10zRNdeldVxNo= Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-569-8vn3K4YDOQe4t2XKwmpVaQ-1; Thu, 21 Aug 2025 16:08:18 -0400 X-MC-Unique: 8vn3K4YDOQe4t2XKwmpVaQ-1 X-Mimecast-MFC-AGG-ID: 8vn3K4YDOQe4t2XKwmpVaQ_1755806898 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-45b51411839so824295e9.0 for ; Thu, 21 Aug 2025 13:08:18 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755806897; x=1756411697; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=5INZuVEW8ZoCVRVHt0CSLhpT4h786L9PUsnD4NVlnkc=; b=JC61odSQWXwOUwJq+NuNOXZHq91iq/B8eFLVvyOHCphQCTLP3NiYugiX+OkERqz57t FnshBvyEmJQIa1D4ROVK+QBbJpst/wxKMtYV7zZITnzfmEnIUycWQfMH2s5wpA4P45S/ SyVLjWOvWGBcGNFrAw3U/1jKFm29ZUDg/tPbWZYhWe4LDC+Vn7/ymPcxU8fCQrqw7TCz 5NdbSVwguXO9lgzy2AWHjF8nnkfgN8VIPA1XdySuW1AxSBRcn7yhEnKwk98wLGeSuIk0 zziaM8uXFv5+dNlvLlaZBY3JW9O6k8c8EopBnd5HheRMBNsBkNw3yPUcG0sVkx4KP1xE p18g== X-Gm-Message-State: AOJu0YzoirKGc4CRPCVlva4qmXdIKQHqrFzNYQ0N4ctvX3akibZirywb 9pdsr1hhOFEciF4hWojjIs2/SHPA6JJ8Jv9TDK83VxjM1ZbaDB+4xLVMtSeOScJudYakfMxDaUF xTsh+Yg03q4fqu8X4KRfmu8clEtyH0IKACrQTv0hCB2dsCAfr24G2QEsL+xgcNhh7TFNPFq8CBz VrfwV13tdqJzTrZAkZyTld88NEh58GX+ar6uCuGnV4k5skBlH/ X-Gm-Gg: ASbGncs5JykADFRg23f7WqHyTgKYKbR+/dbsqkmAcQnbTF68U/XJvPArRLeU4tICioC +lVju3wqE43WGs0jX14TRtFgEa5W15eILPNVbu7dD1z2eUbLKJguf37fdxVc5JCAy2zlzQF7NVQ uZUub2xUxj+JNspzY33Bn5nUHailAvg5wrk0L3/pKoDEYoTfW1x8OxSVcRbtWZLg2G+CflA0DRu isCQDv2zNAryhfvy+Tac63YWsjkluQrs3dlD3bn/sZQZriWChlhnU8l/Osmi8DsQnt3AUyjQ4ao fO1aHZNFRVB+Pmlu36v4wJcnqj7xQFUJiRxHQDR9VTKl6WtLqad5Kk2qo+/1S3Pgwc11ActMYeH 7mI4dbD0BejWrSyREgkHxdQ== X-Received: by 2002:a05:600c:470c:b0:456:285b:db29 with SMTP id 5b1f17b1804b1-45b517d416bmr2506405e9.29.1755806897555; Thu, 21 Aug 2025 13:08:17 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFPdYXvWWhsiYzUao4v8GSpApokx2tOJxTxGWaryOs6bj53AmOc+7o5w7P2pIRGnKU6jzi+ow== X-Received: by 2002:a05:600c:470c:b0:456:285b:db29 with SMTP id 5b1f17b1804b1-45b517d416bmr2505625e9.29.1755806896948; Thu, 21 Aug 2025 13:08:16 -0700 (PDT) Received: from localhost (p200300d82f26ba0008036ec5991806fd.dip0.t-ipconnect.de. [2003:d8:2f26:ba00:803:6ec5:9918:6fd]) by smtp.gmail.com with UTF8SMTPSA id 5b1f17b1804b1-45b50e3a551sm8831035e9.19.2025.08.21.13.08.14 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 21 Aug 2025 13:08:16 -0700 (PDT) From: David Hildenbrand To: linux-kernel@vger.kernel.org Cc: David Hildenbrand , Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , Tvrtko Ursulin , David Airlie , Simona Vetter , Alexander Potapenko , Andrew Morton , Brendan Jackman , Christoph Lameter , Dennis Zhou , Dmitry Vyukov , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, iommu@lists.linux.dev, io-uring@vger.kernel.org, Jason Gunthorpe , Jens Axboe , Johannes Weiner , John Hubbard , kasan-dev@googlegroups.com, kvm@vger.kernel.org, "Liam R. Howlett" , Linus Torvalds , linux-arm-kernel@axis.com, linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-ide@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mips@vger.kernel.org, linux-mmc@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, Lorenzo Stoakes , Marco Elver , Marek Szyprowski , Michal Hocko , Mike Rapoport , Muchun Song , netdev@vger.kernel.org, Oscar Salvador , Peter Xu , Robin Murphy , Suren Baghdasaryan , Tejun Heo , virtualization@lists.linux.dev, Vlastimil Babka , wireguard@lists.zx2c4.com, x86@kernel.org, Zi Yan Subject: [PATCH RFC 25/35] drm/i915/gem: drop nth_page() usage within SG entry Date: Thu, 21 Aug 2025 22:06:51 +0200 Message-ID: <20250821200701.1329277-26-david@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250821200701.1329277-1-david@redhat.com> References: <20250821200701.1329277-1-david@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" It's no longer required to use nth_page() when iterating pages within a single SG entry, so let's drop the nth_page() usage. Cc: Jani Nikula Cc: Joonas Lahtinen Cc: Rodrigo Vivi Cc: Tvrtko Ursulin Cc: David Airlie Cc: Simona Vetter Signed-off-by: David Hildenbrand --- drivers/gpu/drm/i915/gem/i915_gem_pages.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/gem/i915_gem_pages.c b/drivers/gpu/drm/i9= 15/gem/i915_gem_pages.c index c16a57160b262..031d7acc16142 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_pages.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_pages.c @@ -779,7 +779,7 @@ __i915_gem_object_get_page(struct drm_i915_gem_object *= obj, pgoff_t n) GEM_BUG_ON(!i915_gem_object_has_struct_page(obj)); =20 sg =3D i915_gem_object_get_sg(obj, n, &offset); - return nth_page(sg_page(sg), offset); + return sg_page(sg) + offset; } =20 /* Like i915_gem_object_get_page(), but mark the returned page dirty */ --=20 2.50.1 From nobody Sat Oct 4 00:27:00 2025 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AF415372889 for ; Thu, 21 Aug 2025 20:08:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806906; cv=none; b=ewu9Pz9b4w6free2XdjCziylOkyCp2+rFO5w3E4EOKHpN1F5RWRL3Ka08RgL6Sl40KonhMdo31Q8m3reGa0llpSBsIAatEzqVVQ8YEH44P2U4d8Kr6an06zVTqW2pqUanGI8B+eQV0jnoutd5onqjRw+GoW5WDZ/XUXzyKLgFUk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806906; c=relaxed/simple; bh=sP22NtXAK7RUwr0f+hWxIzaLt9EECIyrZ2EEKfR5Am4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=S/lUuxtPTRNdvT2o5N09yWOfs4br44byvRKxrTzDrPGzfZOQydJVIR4ourpp115SCTgYVFghdfG/ON4VHhRSVoEY6H7T+laAUt2ZoGULLvRwtWqjXLYPoCXC9o2KuyuhqUIhbH6eQ95pa7uHOBASDynq9Ls/5hSlh1qG/7MRvKk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=iR/oSPSg; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="iR/oSPSg" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1755806903; 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: in-reply-to:in-reply-to:references:references; bh=5m4ogAvLOK+AKMqlHwhkjmyVbS/4gGgmBykcdwEFmjg=; b=iR/oSPSgotn3w7gSZ8IN65NugEH7zKymwEGExo73kIyx4LvVBZOIOc/ya0c0PEjV6+4A3E Od/E1wJsSFywd4SfXXGIU7VWbOiP9y6Hd/5K3vin39dj7b2jDVC8PdKpp+bppsJZVTmIQB O8IAiquQYtXosa19I2ZbFoxbK696qzU= Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-82-4o-iB3qQMBODGL9Q1ajDUQ-1; Thu, 21 Aug 2025 16:08:21 -0400 X-MC-Unique: 4o-iB3qQMBODGL9Q1ajDUQ-1 X-Mimecast-MFC-AGG-ID: 4o-iB3qQMBODGL9Q1ajDUQ_1755806901 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-45b4d6f3ab0so8382845e9.0 for ; Thu, 21 Aug 2025 13:08:21 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755806900; x=1756411700; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=5m4ogAvLOK+AKMqlHwhkjmyVbS/4gGgmBykcdwEFmjg=; b=Vc0GzzPKpFeOaJyRYcniI2fm7P2PZmmYwO21+RPBmO344xUzGi5+ujPu3iLEIaqATL zqYv9Fa+KZ5j+VwtEWKbvVyAmgV1ddHhlu0En0eg5dXsD6W//+ks+JI9Y2kYETWmRAh1 X2NmS5oMjB2QCEcIb/jJc60SxNGrnGRzErIPKDWC0DUJL1AWZYY35WmEy3s7ZHJ0LYDV sDb5tyF1jT8tuab3r6xOi4K27P+8ka2B311cpMqCY0R+UaIt7kEF+RWFvZg1MRn+aZmT YDgm5H7y8ovspRyOv/Q9qeDci3oaTselZ/yuPRD0wKjdrUaIrfR3fqBtFACKOIwDYxzZ PKsQ== X-Gm-Message-State: AOJu0YwarxGKkpe3XJnAuJfIcqnoG+99r5ChflDZz+J9i9EoAKbZakas qlqoVQBok0KkB6bU3SQFO9GlvBUfxh3oUdlF0j3OvlD2FLWh/6IWauHOtT00LFK2f7+/85vn7Ut 0RKdk3fkJf9+05gF/zyraQLpyen6qiZLTA97l0/oZHYZ5RmgZhjHek4ZWCMwC4+Meot4lSOKuzz FRuSTV4W9Q9t2RzC+bjVoGwz+j4ikxsLQqkyYGKcJvCxZzFTtJ X-Gm-Gg: ASbGncsGAsQUF+2GiSsTlOZ/9KCByN1WyjO/8KSo+NBy0YLb788x8JTJ2HOnWRCv1gE 5Xk2YFFvz3ZTphrmgd65yuEq/hac3/wQMJZbEBnDbnpn0Uu9ARwi5PDvMZGC49/2/FtiQUgyxxA kyFwndi9ok3TPo0yQd1gKmCJGCKEUmUTFH/Nh6oCexu07lj+THthzXc6lPuGpOvfLkiVDobfSpj pSE4m7idCFkUQwGaXKgcnHXsY9eN98hsKFX1VYjhTUSUcUOACot5xNe024qxqzaqVTCsLE+VZn8 LagtACt4u4VU+5bt/ehuKT+W2x3nnqBstvPsU7FaqWhc3lIWfGSLRm3GzpwLi1UhRWSLqxrNZa9 mZsU+rCpwyfZQhFwne8A58g== X-Received: by 2002:a05:600d:15a:10b0:458:bc3f:6a77 with SMTP id 5b1f17b1804b1-45b51f2fe8dmr510605e9.2.1755806900482; Thu, 21 Aug 2025 13:08:20 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGpV2b3uhR/IYbmrTMgtg0gx1wkF4+JdBDenNBBSMhYf9nynPUCNMa8PTADPxo4/liFiw6TqA== X-Received: by 2002:a05:600d:15a:10b0:458:bc3f:6a77 with SMTP id 5b1f17b1804b1-45b51f2fe8dmr509915e9.2.1755806899756; Thu, 21 Aug 2025 13:08:19 -0700 (PDT) Received: from localhost (p200300d82f26ba0008036ec5991806fd.dip0.t-ipconnect.de. [2003:d8:2f26:ba00:803:6ec5:9918:6fd]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-3c07487986fsm13999227f8f.1.2025.08.21.13.08.17 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 21 Aug 2025 13:08:19 -0700 (PDT) From: David Hildenbrand To: linux-kernel@vger.kernel.org Cc: David Hildenbrand , Maxim Levitsky , Alex Dubov , Ulf Hansson , Alexander Potapenko , Andrew Morton , Brendan Jackman , Christoph Lameter , Dennis Zhou , Dmitry Vyukov , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, iommu@lists.linux.dev, io-uring@vger.kernel.org, Jason Gunthorpe , Jens Axboe , Johannes Weiner , John Hubbard , kasan-dev@googlegroups.com, kvm@vger.kernel.org, "Liam R. Howlett" , Linus Torvalds , linux-arm-kernel@axis.com, linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-ide@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mips@vger.kernel.org, linux-mmc@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, Lorenzo Stoakes , Marco Elver , Marek Szyprowski , Michal Hocko , Mike Rapoport , Muchun Song , netdev@vger.kernel.org, Oscar Salvador , Peter Xu , Robin Murphy , Suren Baghdasaryan , Tejun Heo , virtualization@lists.linux.dev, Vlastimil Babka , wireguard@lists.zx2c4.com, x86@kernel.org, Zi Yan Subject: [PATCH RFC 26/35] mspro_block: drop nth_page() usage within SG entry Date: Thu, 21 Aug 2025 22:06:52 +0200 Message-ID: <20250821200701.1329277-27-david@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250821200701.1329277-1-david@redhat.com> References: <20250821200701.1329277-1-david@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" It's no longer required to use nth_page() when iterating pages within a single SG entry, so let's drop the nth_page() usage. Cc: Maxim Levitsky Cc: Alex Dubov Cc: Ulf Hansson Signed-off-by: David Hildenbrand Acked-by: Ulf Hansson --- drivers/memstick/core/mspro_block.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/memstick/core/mspro_block.c b/drivers/memstick/core/ms= pro_block.c index c9853d887d282..985cfca3f6944 100644 --- a/drivers/memstick/core/mspro_block.c +++ b/drivers/memstick/core/mspro_block.c @@ -560,8 +560,7 @@ static int h_mspro_block_transfer_data(struct memstick_= dev *card, t_offset +=3D msb->current_page * msb->page_size; =20 sg_set_page(&t_sg, - nth_page(sg_page(&(msb->req_sg[msb->current_seg])), - t_offset >> PAGE_SHIFT), + sg_page(&(msb->req_sg[msb->current_seg])) + t_offset / PAGE_SIZE, msb->page_size, offset_in_page(t_offset)); =20 memstick_init_req_sg(*mrq, msb->data_dir =3D=3D READ --=20 2.50.1 From nobody Sat Oct 4 00:27:00 2025 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8457D371EB8 for ; Thu, 21 Aug 2025 20:08:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806910; cv=none; b=Fy13GU5JcIWgXMBLEEVvVX/z5XOQOwq2cauHyCFWaBlK/9UxK5Za5f4Q71siu7vJhmSq9hZjpBrNj1qElu1zO8QpAXG96NkXODtdv7IUrmA/0Wsq1lOhL/PF0V8LHVIDnbCpGw9PUhem8H28NsfAJGMHxn/sOoGGcitC2NFnoz8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806910; c=relaxed/simple; bh=bq2gWh1hWRAlT57D1zXSNbOueAtiEim7ETzHNFHN/Ro=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=DlXuzCiap8whaSO3wrq96sENRjhgHP8mMWSUwvzsXpB8Oq/1Ol6g2Z6GZBIcXHziu3tcLWAeRHY7XmTNJoVSIkNsP4XSt2xdZAeWPZAQZCx4com7prlNzxLAfXWgo0ILoZj5tCiH4+OP3qQfeEgilvSDB7nrA1m3APWoyJhHHt0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=KeIoWGcr; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="KeIoWGcr" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1755806907; 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: in-reply-to:in-reply-to:references:references; bh=yR/3u5W37RASrGsn/s3pQVQ78UUgH4ByCavV3b4UG3M=; b=KeIoWGcrkcDx14so7cp5jRl+87whj+3bn/un0ZjmyoUGOoL5hZstt/XlvIovfzGU1da66X 5i6k29qewLy4l66vUY5vZbW/XmxkvdJ8Z0WQqm06SKeuRSA3aJ6lroXrK94brHdk+DV4th TEgbHYaKkxVEDJ5Q89evJ/zjRgvmF00= Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-15-fDuoM9q2M6GQT1p5VwdDcw-1; Thu, 21 Aug 2025 16:08:25 -0400 X-MC-Unique: fDuoM9q2M6GQT1p5VwdDcw-1 X-Mimecast-MFC-AGG-ID: fDuoM9q2M6GQT1p5VwdDcw_1755806904 Received: by mail-wr1-f69.google.com with SMTP id ffacd0b85a97d-3b9bfe2c601so767118f8f.1 for ; Thu, 21 Aug 2025 13:08:24 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755806904; x=1756411704; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=yR/3u5W37RASrGsn/s3pQVQ78UUgH4ByCavV3b4UG3M=; b=THmCp6PLEFqxrtGWtI1IDFimrpP5FkpIm4juA9RMShOWGzReRxX2UKVplgPWyB6t/S LR3+rwl3J7RA9aFhch2MvRohSXiLBuEapGJKRZ4Ttbl8r5x+ZXxA24mSLhHBncIJgK+A 6ONtgHpEX/jbpIXhjuslC+rq/7npx4ap8S1lqFwIbU2JzvmYVj7tfCwHtxzJTnR8YHiD 563K+7wTq8nLOtJZXWIDDXKXJKcvzoYHbg5KbXW66v7mDFi+1PmtzLoxcvU99fhG6de0 qw0d0j8i3RglNbOBZnF6kzyKOPm/P1ZgC5Q5EVW1/HuP1g/dLbsa7pSSlYB6U/ZTzvph R7Cw== X-Gm-Message-State: AOJu0YxDwEuRakt3tD8+hyGS6f3Co7uRhUYN0AM3mLCv+gJjGctreQ6h TIY5d0pth2wbxgA6X4+BmHZ92ZbOs3vc7LY4vp6SpE814w63TZ8OfO0T+PPFUHjqXTxjdjdERAw CF8UExrcsv2UpZriyENoMADrJOODnG2RyGaXVVVVsmJxU1px1Ch9SCOFfISazj/LrZ/etJgF20q 8bAuG4xiVH5MHuHqdxlnvze9Mn6LCVT0SKCz5RtkaBp/X6DIue X-Gm-Gg: ASbGncuZxnWjeBLxEMpcJ1WJhCoKY2cJ9Id7v18HF8lTYEmkb958rLp3TcVCGQM0YgX vanYpvHZb6J2N/6ymRU6P4Df0GEoMrsmH375GRLjs7Cv5YVVna/7g8LnbgHdJXtdHCnORM0form bZOkfAiBaeb0RjFFwfP2X8TQURq4dqRlEYmluuOuTCArSSQR+t2g36Bd37b6AVnOJE/bSubNETL 2N7y8z2ZRA+w/f8yrMKP4k7mNWKl/fKX0mzGhabCQzTDZEtiarKRRHqUxZvH/1fhJpI80KUy8aE OSlqKG9EJ7u+JqR3HvxWo6gW57K7SOjbaTV2DrlpqLAr4iyHlpykhyLrEqCZgtF3PcKNcS8P9bC IzspQQDusXaveTIgrq3/VXA== X-Received: by 2002:a05:6000:310e:b0:3c3:5406:12b0 with SMTP id ffacd0b85a97d-3c5d53b40abmr247308f8f.30.1755806903741; Thu, 21 Aug 2025 13:08:23 -0700 (PDT) X-Google-Smtp-Source: AGHT+IH+53ePp4gOBoZK5+aLlST4uu6G3xHtHBUa0vmdrbtPfJ4bf44S3Zn2IpCr0m84pAneAOD81g== X-Received: by 2002:a05:6000:310e:b0:3c3:5406:12b0 with SMTP id ffacd0b85a97d-3c5d53b40abmr247245f8f.30.1755806903113; Thu, 21 Aug 2025 13:08:23 -0700 (PDT) Received: from localhost (p200300d82f26ba0008036ec5991806fd.dip0.t-ipconnect.de. [2003:d8:2f26:ba00:803:6ec5:9918:6fd]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-3c0771c1708sm13032145f8f.38.2025.08.21.13.08.20 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 21 Aug 2025 13:08:22 -0700 (PDT) From: David Hildenbrand To: linux-kernel@vger.kernel.org Cc: David Hildenbrand , Maxim Levitsky , Alex Dubov , Ulf Hansson , Alexander Potapenko , Andrew Morton , Brendan Jackman , Christoph Lameter , Dennis Zhou , Dmitry Vyukov , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, iommu@lists.linux.dev, io-uring@vger.kernel.org, Jason Gunthorpe , Jens Axboe , Johannes Weiner , John Hubbard , kasan-dev@googlegroups.com, kvm@vger.kernel.org, "Liam R. Howlett" , Linus Torvalds , linux-arm-kernel@axis.com, linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-ide@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mips@vger.kernel.org, linux-mmc@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, Lorenzo Stoakes , Marco Elver , Marek Szyprowski , Michal Hocko , Mike Rapoport , Muchun Song , netdev@vger.kernel.org, Oscar Salvador , Peter Xu , Robin Murphy , Suren Baghdasaryan , Tejun Heo , virtualization@lists.linux.dev, Vlastimil Babka , wireguard@lists.zx2c4.com, x86@kernel.org, Zi Yan Subject: [PATCH RFC 27/35] memstick: drop nth_page() usage within SG entry Date: Thu, 21 Aug 2025 22:06:53 +0200 Message-ID: <20250821200701.1329277-28-david@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250821200701.1329277-1-david@redhat.com> References: <20250821200701.1329277-1-david@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" It's no longer required to use nth_page() when iterating pages within a single SG entry, so let's drop the nth_page() usage. Cc: Maxim Levitsky Cc: Alex Dubov Cc: Ulf Hansson Signed-off-by: David Hildenbrand Acked-by: Ulf Hansson --- drivers/memstick/host/jmb38x_ms.c | 3 +-- drivers/memstick/host/tifm_ms.c | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/memstick/host/jmb38x_ms.c b/drivers/memstick/host/jmb3= 8x_ms.c index cddddb3a5a27f..c5e71d39ffd51 100644 --- a/drivers/memstick/host/jmb38x_ms.c +++ b/drivers/memstick/host/jmb38x_ms.c @@ -317,8 +317,7 @@ static int jmb38x_ms_transfer_data(struct jmb38x_ms_hos= t *host) unsigned int p_off; =20 if (host->req->long_data) { - pg =3D nth_page(sg_page(&host->req->sg), - off >> PAGE_SHIFT); + pg =3D sg_page(&host->req->sg) + off / PAGE_SIZE; p_off =3D offset_in_page(off); p_cnt =3D PAGE_SIZE - p_off; p_cnt =3D min(p_cnt, length); diff --git a/drivers/memstick/host/tifm_ms.c b/drivers/memstick/host/tifm_m= s.c index db7f3a088fb09..0d64184ca10a9 100644 --- a/drivers/memstick/host/tifm_ms.c +++ b/drivers/memstick/host/tifm_ms.c @@ -201,8 +201,7 @@ static unsigned int tifm_ms_transfer_data(struct tifm_m= s *host) unsigned int p_off; =20 if (host->req->long_data) { - pg =3D nth_page(sg_page(&host->req->sg), - off >> PAGE_SHIFT); + pg =3D sg_page(&host->req->sg) + off / PAGE_SIZE; p_off =3D offset_in_page(off); p_cnt =3D PAGE_SIZE - p_off; p_cnt =3D min(p_cnt, length); --=20 2.50.1 From nobody Sat Oct 4 00:27:00 2025 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5B07937CCA3 for ; Thu, 21 Aug 2025 20:08:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806914; cv=none; b=fWcSuLSvCC0mS/kJOqr0oM5g/Tk3Pw59qMz/ixLoQXu5gPtrpEyJXilWGXrszO0OQHYGlqF89L/4jfEmA+K7G9CdwCzZA1pJY7Zih6WibWRz1oexkkh5rvTqpaKqYe68qhp5ZLrUft+nFnX0aX1aCN0QZalIH4h87odAqtD2GOk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806914; c=relaxed/simple; bh=SsQg42O77qinr7crb+JX5LkctmenW7x9L4AwEMidQkI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=XhkUJ93Ydi0pGpWAMpbOYgZb70lIVsXOPzmogDbagZgL3cDfEVuOuPg76k0eNAUo5JSXxCYtRrPJdrWjdVzF+mW0dfoiAIUzAEtM20+EhdCqxusu8DrYNWiHBUrLa4c4Vh4nYAPw0VE/ZmThS68N65qCbth3GnzXdIw5IgVeIsY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=aVZ5mg3T; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="aVZ5mg3T" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1755806911; 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: in-reply-to:in-reply-to:references:references; bh=yKmA6ti8X8/YIeKKq4I8EEiHVsObQn302mzSXytdc/A=; b=aVZ5mg3TyDJZurlNUIcNf0qz05PkyjNG3/Mjm7QmSMSR/CApOs/+orSP/NA+6ECvObuRdP WlmnEjgToMuDhsj4b54tmsvS+afKmqJdtE0jHspbD0BrtOYwAyKVOLYC7vnnw2p7l648zD PxzP189kIbkh30Cy49UQhS9caOTZsTA= Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-458-4F7IkEqrMk-hNI1rgV6azQ-1; Thu, 21 Aug 2025 16:08:28 -0400 X-MC-Unique: 4F7IkEqrMk-hNI1rgV6azQ-1 X-Mimecast-MFC-AGG-ID: 4F7IkEqrMk-hNI1rgV6azQ_1755806907 Received: by mail-wr1-f72.google.com with SMTP id ffacd0b85a97d-3b9e4f039ecso759946f8f.2 for ; Thu, 21 Aug 2025 13:08:27 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755806907; x=1756411707; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=yKmA6ti8X8/YIeKKq4I8EEiHVsObQn302mzSXytdc/A=; b=fcltLioAMqydDxWNHnv23hzt6w/pLIPhLGaZz+3N4/IaTUPRmde7FK++CKif0WoGzr hQIDxQej5EQWDqC5NIO0DsQQN417M0i0VeZ3wmoyXghYSuRqc8l2J9zlnTZVUhjBmUvO l3rMsV0dcYQ1w/TkWEdsFW1mpKs/+Di0FQK8ZGyykBgYrbEl1NVRyUoRa5394oD+vBEr Jux6/H8uy4SeOdB1QbkaVoDiX4Dhi9jSwYk+yPWZ8BKxjI6FxYs2pVKZRCP/lw5ITG7r bSDQLcwfHvx7vsSwUQxQm3QPSsaxTG3M0thWCDw4di3+FGwMMLyQDYqoPv8lWdw0NVpv wNOA== X-Gm-Message-State: AOJu0YxsWzfQb7iECQPYDniWIsx6bByvGo8rJ0KGFl6DagkifKEoWZJ9 GrQi7x22YEPQrj/pHcTshG6PB7qQASKyfb945wfKV6KanJXR6XJZwq+IfAP+LWJodBdatsxdxTZ Ab/bHs/ad9cxcL9s/OoWabyMOS9PyRozym4Uok34L+ftGvhIp3EN+ZHhoekVBOeByPcZVQHrWgE hX3ZZaMR6SuMqMuZ+qqkCH2BZzxg1his5kVvCrgREmab9LgUSe X-Gm-Gg: ASbGncuckjbsrDBFkq3+NdaWhhWNl9h0XGZnspzlscwPM7G0OcB6QU8ud+VMA03KxFp A3j9unvHtWObcmOJ2DBDDY1hRsrjmeXT/o4UNqBtPoN6D3EF9IABaRyWPzmnkQ+ixvmvcSrFupu u4rtv22n/Tnp0Kxxm7NTeFuRYUtJA09G2CCYVltfpZ4mNjxgjEN9QSFHHYmRxyZfD+AdQiqZBB0 WZGs3H0kVELgLEdgPelBQOaO4DZErEuJKd1q2GqO/i2PlVy5pmmfvw3RB9Pxre5nyZHDX11gQgy GicSEGkwshh3Q/FUwSwz0ozPNF8GBlutvDe4w8ahqCzwtJbK7HgDKYIfcnOCTcWAy2x0RIARni6 p/PbeHDsAbyNkBKMolkP3rw== X-Received: by 2002:a05:6000:288a:b0:3c3:f134:28ba with SMTP id ffacd0b85a97d-3c5db2dcc73mr210148f8f.28.1755806906888; Thu, 21 Aug 2025 13:08:26 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFquQDwTQ7641wc0kBtooMvxSzqNfE3+XbhkCNDvunKpGE2abRVQ6uRBkb0Dc/grDWRh0uIiA== X-Received: by 2002:a05:6000:288a:b0:3c3:f134:28ba with SMTP id ffacd0b85a97d-3c5db2dcc73mr210077f8f.28.1755806906301; Thu, 21 Aug 2025 13:08:26 -0700 (PDT) Received: from localhost (p200300d82f26ba0008036ec5991806fd.dip0.t-ipconnect.de. [2003:d8:2f26:ba00:803:6ec5:9918:6fd]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-3c077789d12sm12702699f8f.54.2025.08.21.13.08.23 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 21 Aug 2025 13:08:25 -0700 (PDT) From: David Hildenbrand To: linux-kernel@vger.kernel.org Cc: David Hildenbrand , Alex Dubov , Ulf Hansson , Jesper Nilsson , Lars Persson , Alexander Potapenko , Andrew Morton , Brendan Jackman , Christoph Lameter , Dennis Zhou , Dmitry Vyukov , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, iommu@lists.linux.dev, io-uring@vger.kernel.org, Jason Gunthorpe , Jens Axboe , Johannes Weiner , John Hubbard , kasan-dev@googlegroups.com, kvm@vger.kernel.org, "Liam R. Howlett" , Linus Torvalds , linux-arm-kernel@axis.com, linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-ide@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mips@vger.kernel.org, linux-mmc@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, Lorenzo Stoakes , Marco Elver , Marek Szyprowski , Michal Hocko , Mike Rapoport , Muchun Song , netdev@vger.kernel.org, Oscar Salvador , Peter Xu , Robin Murphy , Suren Baghdasaryan , Tejun Heo , virtualization@lists.linux.dev, Vlastimil Babka , wireguard@lists.zx2c4.com, x86@kernel.org, Zi Yan Subject: [PATCH RFC 28/35] mmc: drop nth_page() usage within SG entry Date: Thu, 21 Aug 2025 22:06:54 +0200 Message-ID: <20250821200701.1329277-29-david@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250821200701.1329277-1-david@redhat.com> References: <20250821200701.1329277-1-david@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" It's no longer required to use nth_page() when iterating pages within a single SG entry, so let's drop the nth_page() usage. Cc: Alex Dubov Cc: Ulf Hansson Cc: Jesper Nilsson Cc: Lars Persson Signed-off-by: David Hildenbrand Acked-by: Ulf Hansson --- drivers/mmc/host/tifm_sd.c | 4 ++-- drivers/mmc/host/usdhi6rol0.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/mmc/host/tifm_sd.c b/drivers/mmc/host/tifm_sd.c index ac636efd911d3..f1ede2b39b505 100644 --- a/drivers/mmc/host/tifm_sd.c +++ b/drivers/mmc/host/tifm_sd.c @@ -191,7 +191,7 @@ static void tifm_sd_transfer_data(struct tifm_sd *host) } off =3D sg[host->sg_pos].offset + host->block_pos; =20 - pg =3D nth_page(sg_page(&sg[host->sg_pos]), off >> PAGE_SHIFT); + pg =3D sg_page(&sg[host->sg_pos]) + off / PAGE_SIZE; p_off =3D offset_in_page(off); p_cnt =3D PAGE_SIZE - p_off; p_cnt =3D min(p_cnt, cnt); @@ -240,7 +240,7 @@ static void tifm_sd_bounce_block(struct tifm_sd *host, = struct mmc_data *r_data) } off =3D sg[host->sg_pos].offset + host->block_pos; =20 - pg =3D nth_page(sg_page(&sg[host->sg_pos]), off >> PAGE_SHIFT); + pg =3D sg_page(&sg[host->sg_pos]) + off / PAGE_SIZE; p_off =3D offset_in_page(off); p_cnt =3D PAGE_SIZE - p_off; p_cnt =3D min(p_cnt, cnt); diff --git a/drivers/mmc/host/usdhi6rol0.c b/drivers/mmc/host/usdhi6rol0.c index 85b49c07918b3..3bccf800339ba 100644 --- a/drivers/mmc/host/usdhi6rol0.c +++ b/drivers/mmc/host/usdhi6rol0.c @@ -323,7 +323,7 @@ static void usdhi6_blk_bounce(struct usdhi6_host *host, =20 host->head_pg.page =3D host->pg.page; host->head_pg.mapped =3D host->pg.mapped; - host->pg.page =3D nth_page(host->pg.page, 1); + host->pg.page =3D host->pg.page + 1; host->pg.mapped =3D kmap(host->pg.page); =20 host->blk_page =3D host->bounce_buf; @@ -503,7 +503,7 @@ static void usdhi6_sg_advance(struct usdhi6_host *host) /* We cannot get here after crossing a page border */ =20 /* Next page in the same SG */ - host->pg.page =3D nth_page(sg_page(host->sg), host->page_idx); + host->pg.page =3D sg_page(host->sg) + host->page_idx; host->pg.mapped =3D kmap(host->pg.page); host->blk_page =3D host->pg.mapped; =20 --=20 2.50.1 From nobody Sat Oct 4 00:27:00 2025 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C7E2637C118 for ; Thu, 21 Aug 2025 20:08:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806915; cv=none; b=R5KkJwNH22b54q0Sdxx9YPf6sMH1ODEjxKdbACMQVhayhG0j330NO/r0crV7UdPXBHKAiGIGYXFcIOSc6JF/OQX5i9ZlsUkOBD8lSZC+WO2lNAa1cfttFZ7z61efP2Na9+DuS0eEu+xpPRMy/W+BL/eo4XfAC0Cu5hqQ8nlu06Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806915; c=relaxed/simple; bh=nQnlX0DDaNxbga/DhB7JLie8Amiy5HfSv4XT65Hn/xQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=jlix/SbGT5vhjZr2FhlzWS9TqfSgiDsWOv44qj8nt3HiHl4gkBIP7pHcWNX8qFqWWP/qMejNng87XmEaVw00yEUlTsBz/TqTEoImNyhJcPvDRSaxDediVl4FDWAXzFcH58EvRFzdWDywLnp118f1SA51zEanNjaIjFUNgk4c0/w= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=D3mQDHt9; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="D3mQDHt9" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1755806913; 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: in-reply-to:in-reply-to:references:references; bh=6kuJ+10C4pYxyWPcGDJkWqMBAcRGmXje5KFYns7NWu0=; b=D3mQDHt9EalJB+vz9IwQS/o1lcVU2wYGtkPZ0zaFKqF/Lr87jzWfarrShSl4UfOX3SE9kw sJJLJ87zjQqoRf/qg5HLk1WEnnYi1hv1A8uzKfbFeBhms9Puy0kC81NSD0ZXzxIDbqmYiy vteYzbLiRbserCfVDSwcAg1wcf0830I= Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-187-aWsXsOaSMKuzNpq_v2c2kg-1; Thu, 21 Aug 2025 16:08:30 -0400 X-MC-Unique: aWsXsOaSMKuzNpq_v2c2kg-1 X-Mimecast-MFC-AGG-ID: aWsXsOaSMKuzNpq_v2c2kg_1755806910 Received: by mail-wr1-f72.google.com with SMTP id ffacd0b85a97d-3c380aa19c1so770637f8f.1 for ; Thu, 21 Aug 2025 13:08:30 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755806909; x=1756411709; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6kuJ+10C4pYxyWPcGDJkWqMBAcRGmXje5KFYns7NWu0=; b=MOvMOJ4WLsQBhk8Pjobb54tlKRBgUR1aAGpBL8uTj0kQOc6qMA8UwdDO0k5XIC7b2j ElRUl6HFngKIGit7mhuXDEFoLNM0yXZYwoZY/E5rvWuotOtBI5RgWkZEHhL/poNI4BSb IbdxYLL77sL86sG8Qae8nYHyUWQaNJ0mmdjsvKcW7lPOAr9CbZ6Mx6wTvXReWpobAgha vG2Fv9QGocJupqo4iJi9hcgtnfrt5X2Ojyba4LpCpCxfXZw+k7Xza299VZKQt7gj8uRI 1osR89ZZyGDzsMI9pN/G/XMOvOmx2/TQm5/8gBdaaO7wYTajnq3IqwHL2XxlbmtVxisT MUWw== X-Gm-Message-State: AOJu0YzADD9t4yUHsBrJ9o7UnDscv6lRA0igmt20+ZbtJDRtJ5QQiMy7 KEcxSZ2g1+g4PmJeM4SZtH20SwReXdPITQP5WwVYRVHMXHXq5Yo0PQTQzWUosWbXoCoAjooNq0S BitK1aJJJTZp+83WrENCIf45uFT/Ys1wDGef+9wlmIoVNnpTy2f4nV4wZCepTMHn+h6Rc4bzE+/ +kAsUuipVVw0IMV2+Hzx3aoNAQBZbf+kcfBxGz+DY0wlfogjsI X-Gm-Gg: ASbGncs6aRHatNXRq5xvAVtKXaiAUCjhoe6eXK7HCamgRQsN0mp9EGKHWLPoUQpnHv5 LlX3wAxdV1MhdjUZ7OYSwe1koJhf5/2pMFu46uHnQi/L7qALjSKQ4ZgWTfv5i5nce1G1LL7HJwF WzT3SfYe18vbm/SiUS8BBntUfE/5LN9yjC32vtDf7Brlm4U6VQ5ZsYki/1O8qcSo+3+dj0A/DyL kKr5Vxwapet/2h7fir6VN9oyOZOXzlyUvXGB97yC53VW70oJQmjnFsAg7zZAtmGdWf3bEdFljT2 otnAwiDw/27zPDpPIjHJniu03yOP5/81B2gqHZYHk8P6cM/vSeNukEWCw83KT2Kwr2IpNUMWohp 7OVrtN+1LU4JKLZPc4Jd5Ow== X-Received: by 2002:a05:6000:18a6:b0:3b9:48f:4967 with SMTP id ffacd0b85a97d-3c5dd6bbb33mr155536f8f.56.1755806909536; Thu, 21 Aug 2025 13:08:29 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFRykwWh31JVJGBkobbD9YNZEskJV981iF0h0FASAg1XfgxaqZA4MQnDyPntA4/emfIOpWurA== X-Received: by 2002:a05:6000:18a6:b0:3b9:48f:4967 with SMTP id ffacd0b85a97d-3c5dd6bbb33mr155476f8f.56.1755806908930; Thu, 21 Aug 2025 13:08:28 -0700 (PDT) Received: from localhost (p200300d82f26ba0008036ec5991806fd.dip0.t-ipconnect.de. [2003:d8:2f26:ba00:803:6ec5:9918:6fd]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-3c5317abe83sm2432791f8f.40.2025.08.21.13.08.27 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 21 Aug 2025 13:08:28 -0700 (PDT) From: David Hildenbrand To: linux-kernel@vger.kernel.org Cc: David Hildenbrand , "James E.J. Bottomley" , "Martin K. Petersen" , Doug Gilbert , Alexander Potapenko , Andrew Morton , Brendan Jackman , Christoph Lameter , Dennis Zhou , Dmitry Vyukov , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, iommu@lists.linux.dev, io-uring@vger.kernel.org, Jason Gunthorpe , Jens Axboe , Johannes Weiner , John Hubbard , kasan-dev@googlegroups.com, kvm@vger.kernel.org, "Liam R. Howlett" , Linus Torvalds , linux-arm-kernel@axis.com, linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-ide@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mips@vger.kernel.org, linux-mmc@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, Lorenzo Stoakes , Marco Elver , Marek Szyprowski , Michal Hocko , Mike Rapoport , Muchun Song , netdev@vger.kernel.org, Oscar Salvador , Peter Xu , Robin Murphy , Suren Baghdasaryan , Tejun Heo , virtualization@lists.linux.dev, Vlastimil Babka , wireguard@lists.zx2c4.com, x86@kernel.org, Zi Yan Subject: [PATCH RFC 29/35] scsi: core: drop nth_page() usage within SG entry Date: Thu, 21 Aug 2025 22:06:55 +0200 Message-ID: <20250821200701.1329277-30-david@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250821200701.1329277-1-david@redhat.com> References: <20250821200701.1329277-1-david@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" It's no longer required to use nth_page() when iterating pages within a single SG entry, so let's drop the nth_page() usage. Cc: "James E.J. Bottomley" Cc: "Martin K. Petersen" Cc: Doug Gilbert Signed-off-by: David Hildenbrand Reviewed-by: Bart Van Assche --- drivers/scsi/scsi_lib.c | 3 +-- drivers/scsi/sg.c | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c index 0c65ecfedfbd6..f523f85828b89 100644 --- a/drivers/scsi/scsi_lib.c +++ b/drivers/scsi/scsi_lib.c @@ -3148,8 +3148,7 @@ void *scsi_kmap_atomic_sg(struct scatterlist *sgl, in= t sg_count, /* Offset starting from the beginning of first page in this sg-entry */ *offset =3D *offset - len_complete + sg->offset; =20 - /* Assumption: contiguous pages can be accessed as "page + i" */ - page =3D nth_page(sg_page(sg), (*offset >> PAGE_SHIFT)); + page =3D sg_page(sg) + *offset / PAGE_SIZE; *offset &=3D ~PAGE_MASK; =20 /* Bytes in this sg-entry from *offset to the end of the page */ diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c index 3c02a5f7b5f39..2c653f2b21133 100644 --- a/drivers/scsi/sg.c +++ b/drivers/scsi/sg.c @@ -1235,8 +1235,7 @@ sg_vma_fault(struct vm_fault *vmf) len =3D vma->vm_end - sa; len =3D (len < length) ? len : length; if (offset < len) { - struct page *page =3D nth_page(rsv_schp->pages[k], - offset >> PAGE_SHIFT); + struct page *page =3D rsv_schp->pages[k] + offset / PAGE_SIZE; get_page(page); /* increment page count */ vmf->page =3D page; return 0; /* success */ --=20 2.50.1 From nobody Sat Oct 4 00:27:00 2025 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1E35E37E8FA for ; Thu, 21 Aug 2025 20:08:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806922; cv=none; b=QhTAcNSpCvl6ZUaQJtFeL/Y9CS3zVOKbkPG+XuRnAy6gTPK9CoMsQUH22aJnO7yyJZwC15XxpG5YNaWbTFnK+y/RYdY2MgI3Rj1/DfUQcLRLwlY9+8OjcrmOm3f4k1Po2ht3u30+0erh6SVt6zeYPs2V36AcqyxloPcK5g7SW9g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806922; c=relaxed/simple; bh=u2IvbkeQqipan9xn1FH8uDngo5kbDeDcvQE423cldao=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=BeIDwhcDq+ivE/wMa9TJOw/k+07e6HUcAZoQcAr+j0+NGbH5KW5sFvlUhTejaioUkoIU75PgcqWXxDOwLGJCQPzlGUxGMYtW7VklUWmy/Xyn+pBRKwAHut5A3DnuF2vVIHj+RKgfW4EHhDoyBDOWdm3xMeQlJTSSYDWZ2MjU84g= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=M3DmHZNA; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="M3DmHZNA" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1755806919; 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: in-reply-to:in-reply-to:references:references; bh=uIthYg0x+2djveHghlw2Jb9wmVGYKVQz7R4ULrPQfiU=; b=M3DmHZNADpx/rX4w2XzEFpURENFa1AIbD3TctJOtAao7AV4/9FrL6RHi/iCfDe6WR+zzx2 x5Q8febgflIbi3wKt+TGyN2gl6FemCIaK8x6FjgdhDvvII4tULcMh+3dfTlHw/qFQ6owiw 0kMujcBq0q329lSIFtnTykBJ+ahBSC0= Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-222-55m2Ch-7NlWQhGAMesrMZA-1; Thu, 21 Aug 2025 16:08:36 -0400 X-MC-Unique: 55m2Ch-7NlWQhGAMesrMZA-1 X-Mimecast-MFC-AGG-ID: 55m2Ch-7NlWQhGAMesrMZA_1755806912 Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-3b9dc566cb4so996946f8f.1 for ; Thu, 21 Aug 2025 13:08:36 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755806912; x=1756411712; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=uIthYg0x+2djveHghlw2Jb9wmVGYKVQz7R4ULrPQfiU=; b=GQZSpXjawbqFuCVCoIQ9MB7eHwI/AqzHNlNUP4Ii16BLia2VtwMsOsxz2z0MORs9O+ 3pApDrXWniHErYfikQum48XGi+zbWrNBG2CkoCl4l/tGomKDxHPCBkoU9YdzMnB4dh7e 0mhvnLHFKcjFPLyt2jBjFZEyKjCLemNuWxYlHTvLqWz1TMYS9KpQVTACX2foBW63N26E zFUNk1Gs++c+G/ZggMI61EafTnmTjDeMUAfb5ZurBky3Dt0rB9KXOOcr//1UatMTZAji W8l3WjkW3EHMBRB7kdA7RrN1XCv7oFZcy3nQq1PpTSnyYfzibOtXNzwmr2t5A0E/Bvm9 rNKw== X-Gm-Message-State: AOJu0YzZFHm5ZJJOWIDi7H6p6AR/9082L8i06NG1o2pPEpigeDJVLnq6 IfwcnhjADEnN45R4/jH8GMO8n2RmBhwEP2RlQgC4ArsDlEYjjqt9t/7phbb2R6FRhANJmG4ZtCb FV38z4gbOw/rgPdmuzPJRiwlVZjUXsXNsPq7K6tFMu4OsESa+ywjhZTI+/HIk7ahLb6JSSXRm5C S4pCYnirujpIMRsEzXmHU2TO2LOUCs+Eqj91StF7ibDTpq3CZu X-Gm-Gg: ASbGncum6ZrmlD8ouSdbCZHOeykgm2K79tB+zzXlcjL4r7H/N+3peU3U7Vx/GQJgGdJ Wk/orwy1IWr+bH4jH82Mi6Z3SKHBxdScZcOewY6c1thGcK3rJahXdkG8x+45eJc+c8nE7lWisxC KSbzSUa6Dv/rJmC4mGoufBgzNeJxac7a1g6lA7g/XPY1Fvmg2oBjy3YjevtyPtRiA6gppVK8Yex iwdGJ8DW8yn67T1K0KjnL+D6LY+gnyL26nsUo574bSlzh3/UD0IMaIl0edbJmUUoyvQJxE5c4C5 /6eulRcpRe6ux00yv8I96dQOlbCSt0St3hOu1m6nHZaZLJvLbHhHxr3qtzrBWg2xMSggrrQZtd7 0dUjsrs6ngyWzWFrPmJGMeQ== X-Received: by 2002:a05:6000:40de:b0:3a5:783f:528a with SMTP id ffacd0b85a97d-3c5dcefee22mr195303f8f.59.1755806912411; Thu, 21 Aug 2025 13:08:32 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFRe/VOMg0cdir08bDTWMwU06A85Ixelypa7wMbtHpunFYS8URS38ofNnAO5nDnYJmoWLlWSQ== X-Received: by 2002:a05:6000:40de:b0:3a5:783f:528a with SMTP id ffacd0b85a97d-3c5dcefee22mr195231f8f.59.1755806911819; Thu, 21 Aug 2025 13:08:31 -0700 (PDT) Received: from localhost (p200300d82f26ba0008036ec5991806fd.dip0.t-ipconnect.de. [2003:d8:2f26:ba00:803:6ec5:9918:6fd]) by smtp.gmail.com with UTF8SMTPSA id 5b1f17b1804b1-45b50f16eb1sm7598185e9.3.2025.08.21.13.08.29 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 21 Aug 2025 13:08:31 -0700 (PDT) From: David Hildenbrand To: linux-kernel@vger.kernel.org Cc: David Hildenbrand , Brett Creeley , Jason Gunthorpe , Yishai Hadas , Shameer Kolothum , Kevin Tian , Alex Williamson , Alexander Potapenko , Andrew Morton , Brendan Jackman , Christoph Lameter , Dennis Zhou , Dmitry Vyukov , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, iommu@lists.linux.dev, io-uring@vger.kernel.org, Jason Gunthorpe , Jens Axboe , Johannes Weiner , John Hubbard , kasan-dev@googlegroups.com, kvm@vger.kernel.org, "Liam R. Howlett" , Linus Torvalds , linux-arm-kernel@axis.com, linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-ide@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mips@vger.kernel.org, linux-mmc@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, Lorenzo Stoakes , Marco Elver , Marek Szyprowski , Michal Hocko , Mike Rapoport , Muchun Song , netdev@vger.kernel.org, Oscar Salvador , Peter Xu , Robin Murphy , Suren Baghdasaryan , Tejun Heo , virtualization@lists.linux.dev, Vlastimil Babka , wireguard@lists.zx2c4.com, x86@kernel.org, Zi Yan Subject: [PATCH RFC 30/35] vfio/pci: drop nth_page() usage within SG entry Date: Thu, 21 Aug 2025 22:06:56 +0200 Message-ID: <20250821200701.1329277-31-david@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250821200701.1329277-1-david@redhat.com> References: <20250821200701.1329277-1-david@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" It's no longer required to use nth_page() when iterating pages within a single SG entry, so let's drop the nth_page() usage. Cc: Brett Creeley Cc: Jason Gunthorpe Cc: Yishai Hadas Cc: Shameer Kolothum Cc: Kevin Tian Cc: Alex Williamson Signed-off-by: David Hildenbrand --- drivers/vfio/pci/pds/lm.c | 3 +-- drivers/vfio/pci/virtio/migrate.c | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/vfio/pci/pds/lm.c b/drivers/vfio/pci/pds/lm.c index f2673d395236a..4d70c833fa32e 100644 --- a/drivers/vfio/pci/pds/lm.c +++ b/drivers/vfio/pci/pds/lm.c @@ -151,8 +151,7 @@ static struct page *pds_vfio_get_file_page(struct pds_v= fio_lm_file *lm_file, lm_file->last_offset_sg =3D sg; lm_file->sg_last_entry +=3D i; lm_file->last_offset =3D cur_offset; - return nth_page(sg_page(sg), - (offset - cur_offset) / PAGE_SIZE); + return sg_page(sg) + (offset - cur_offset) / PAGE_SIZE; } cur_offset +=3D sg->length; } diff --git a/drivers/vfio/pci/virtio/migrate.c b/drivers/vfio/pci/virtio/mi= grate.c index ba92bb4e9af94..7dd0ac866461d 100644 --- a/drivers/vfio/pci/virtio/migrate.c +++ b/drivers/vfio/pci/virtio/migrate.c @@ -53,8 +53,7 @@ virtiovf_get_migration_page(struct virtiovf_data_buffer *= buf, buf->last_offset_sg =3D sg; buf->sg_last_entry +=3D i; buf->last_offset =3D cur_offset; - return nth_page(sg_page(sg), - (offset - cur_offset) / PAGE_SIZE); + return sg_page(sg) + (offset - cur_offset) / PAGE_SIZE; } cur_offset +=3D sg->length; } --=20 2.50.1 From nobody Sat Oct 4 00:27:00 2025 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9EC5937E906 for ; Thu, 21 Aug 2025 20:08:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806923; cv=none; b=intKEHNB9Op2jR8PBV6mXDUz+WEAWXqS7NDpulV63TiN/4aR5hns2B170t16H/cKhe5ESVIiLxnFq71p/z2UkOvK9ybtiNVK51cbYnfDX5x11KYYpGKdtIu4W98O/Qjn6mfqvqVKkdurjAyqnpoW8rBtCXqePW2kHQDn5rRflZY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806923; c=relaxed/simple; bh=I4BkP0poqeOVnf4Ccw0GJyYkhfaxRMDSlYagPRdC1UE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=LxuW5NlFU9uLzmAjYNRLgUbG2HiWrRXgSfXz6tF7IHTmQURrS12qQEfX8raSFjhQoDaj5xdJgJijw9NiXRHH7+kT/8vVoxqdCqvK0r2OgEVqK0dtm80nfFsPf8KncjcNWoLCnyjk0Z12VV0R2Zm+S1Y6BGG2TrlKkEQhqY8LwyU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=YZgwUtvu; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="YZgwUtvu" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1755806919; 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: in-reply-to:in-reply-to:references:references; bh=3CqHI+s+zbpAzQhGC/xWDVPQsQNUZt86Ikrf9EwImgM=; b=YZgwUtvu7B8hcKdOyzJ3aFCXvS5VJsSg/0RXF4TDsYMsYa4HYsgMepNtcONST1jI2MeC5s UcQg4FltPxWNIpHg9egMR2dA6RxlLQzCKsx/Opm3TzmZmXIgm/QIlym21cgFO4lpndyEsj zyhvEHgi4LSlLBH1IFxCwRFfrc0M2lM= Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-418-hch9CSuSMdqXECaVZ7JRQw-1; Thu, 21 Aug 2025 16:08:38 -0400 X-MC-Unique: hch9CSuSMdqXECaVZ7JRQw-1 X-Mimecast-MFC-AGG-ID: hch9CSuSMdqXECaVZ7JRQw_1755806915 Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-45a1b05b15eso10525535e9.1 for ; Thu, 21 Aug 2025 13:08:36 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755806915; x=1756411715; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=3CqHI+s+zbpAzQhGC/xWDVPQsQNUZt86Ikrf9EwImgM=; b=cRct0fJVgMoJtFZzf0uIC0gCZZ/2Dtf9+foOS35NjPusbtqFHb1y3sUy5faRkOel/1 NnIlW6jv/xIBDd68kgqjZ1LYzcT8rD7VpUCiqNyuP1Dxc+XqMFOPL4dRe6XWGjiuRZNH EXjVVMzu000yYHuYpjOERcZADX/KX3h5tl9MjDJN7cJWtckuY0hqBwwOEHpeqgUk/ord I2oEACi8sBkdZBP7IHpfTjdyXu4nAG2TyRKQG23IbiaCV2SczvyXnZE6OeD4RTR7TA74 gsozpBDYQvLmQkt+Ou7xO80qQRu+pjw0WXJTZmXCyG3q7LHkyVrY24zpf4PnIuMRSPJw VpRA== X-Gm-Message-State: AOJu0YyHzTOOu4iZQ+KicDQ6o4rYONax2c7ft0PG1kHuQ7rFz2/gmzx2 uuRwtg/eixCeptthzBmdqMrsF7ZdVu75//IHTa0tUOXxcFN/w7TdKjDn6uagG19FopEWmRaB7MU K3PgZj/pTiJdCVQP4lKAvcAihKbcoJ1mrVQ5kRGlGz/oA7kNlBZNgPyc3etc+C0aUm/BIShcN25 fJG1nSc+EEamlNhn5yMQdIO9xEAt1Rql7G28RnmANHkG6ai4Dp X-Gm-Gg: ASbGncv6bbpYr/6maLUh1mze99c9/Hto+S/sNpe4a3Wp1HBL4EY5Cj0LpSesbqKW1wH aDwop5uHGgq68LJoh4nWsj8HkY4Qj1Ja4qMXS9pmsC3vecaRFSP6ffpEVdxLb+2SXVsUTjm8GY+ FusedTYTGtQLfHMngca5Np/86liOv48Iqptg7BCtsZTL6l87k0BCPZ/vE3egva4HVBDOmjhsNBL gRQN5XD1zKRXTk6NygdRKEtHHcxJRQAJiqgFIXXtJCK1iPreS38AsS3oej9YUz0RcAJR3Hdmgen iNCugVKMgQF8XwZ0YhUl8i2yv4pdpzJm22qHlDkLPXVP3H+NYifjBo8+EvCU5Mv6u+pgkFWi2wH pvjYsJmdXcsrO78KbOaT+Eg== X-Received: by 2002:a05:600c:1e85:b0:456:1006:5418 with SMTP id 5b1f17b1804b1-45b5179f0d8mr2711215e9.13.1755806915174; Thu, 21 Aug 2025 13:08:35 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHNGUbCcltH4em232KOd7NJpwM5baGf2Rerwczj+dvqvR7jiogPR9NbFTOrLGPDkQDJL8nGzQ== X-Received: by 2002:a05:600c:1e85:b0:456:1006:5418 with SMTP id 5b1f17b1804b1-45b5179f0d8mr2710565e9.13.1755806914568; Thu, 21 Aug 2025 13:08:34 -0700 (PDT) Received: from localhost (p200300d82f26ba0008036ec5991806fd.dip0.t-ipconnect.de. [2003:d8:2f26:ba00:803:6ec5:9918:6fd]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-3c074d43b9asm12707153f8f.24.2025.08.21.13.08.32 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 21 Aug 2025 13:08:34 -0700 (PDT) From: David Hildenbrand To: linux-kernel@vger.kernel.org Cc: David Hildenbrand , Herbert Xu , "David S. Miller" , Alexander Potapenko , Andrew Morton , Brendan Jackman , Christoph Lameter , Dennis Zhou , Dmitry Vyukov , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, iommu@lists.linux.dev, io-uring@vger.kernel.org, Jason Gunthorpe , Jens Axboe , Johannes Weiner , John Hubbard , kasan-dev@googlegroups.com, kvm@vger.kernel.org, "Liam R. Howlett" , Linus Torvalds , linux-arm-kernel@axis.com, linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-ide@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mips@vger.kernel.org, linux-mmc@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, Lorenzo Stoakes , Marco Elver , Marek Szyprowski , Michal Hocko , Mike Rapoport , Muchun Song , netdev@vger.kernel.org, Oscar Salvador , Peter Xu , Robin Murphy , Suren Baghdasaryan , Tejun Heo , virtualization@lists.linux.dev, Vlastimil Babka , wireguard@lists.zx2c4.com, x86@kernel.org, Zi Yan Subject: [PATCH RFC 31/35] crypto: remove nth_page() usage within SG entry Date: Thu, 21 Aug 2025 22:06:57 +0200 Message-ID: <20250821200701.1329277-32-david@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250821200701.1329277-1-david@redhat.com> References: <20250821200701.1329277-1-david@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" It's no longer required to use nth_page() when iterating pages within a single SG entry, so let's drop the nth_page() usage. Cc: Herbert Xu Cc: "David S. Miller" Signed-off-by: David Hildenbrand --- crypto/ahash.c | 4 ++-- crypto/scompress.c | 8 ++++---- include/crypto/scatterwalk.h | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/crypto/ahash.c b/crypto/ahash.c index a227793d2c5b5..a9f757224a223 100644 --- a/crypto/ahash.c +++ b/crypto/ahash.c @@ -88,7 +88,7 @@ static int hash_walk_new_entry(struct crypto_hash_walk *w= alk) =20 sg =3D walk->sg; walk->offset =3D sg->offset; - walk->pg =3D nth_page(sg_page(walk->sg), (walk->offset >> PAGE_SHIFT)); + walk->pg =3D sg_page(walk->sg) + walk->offset / PAGE_SIZE; walk->offset =3D offset_in_page(walk->offset); walk->entrylen =3D sg->length; =20 @@ -226,7 +226,7 @@ int shash_ahash_digest(struct ahash_request *req, struc= t shash_desc *desc) if (!IS_ENABLED(CONFIG_HIGHMEM)) return crypto_shash_digest(desc, data, nbytes, req->result); =20 - page =3D nth_page(page, offset >> PAGE_SHIFT); + page +=3D offset / PAGE_SIZE; offset =3D offset_in_page(offset); =20 if (nbytes > (unsigned int)PAGE_SIZE - offset) diff --git a/crypto/scompress.c b/crypto/scompress.c index c651e7f2197a9..1a7ed8ae65b07 100644 --- a/crypto/scompress.c +++ b/crypto/scompress.c @@ -198,7 +198,7 @@ static int scomp_acomp_comp_decomp(struct acomp_req *re= q, int dir) } else return -ENOSYS; =20 - dpage =3D nth_page(dpage, doff / PAGE_SIZE); + dpage +=3D doff / PAGE_SIZE; doff =3D offset_in_page(doff); =20 n =3D (dlen - 1) / PAGE_SIZE; @@ -220,12 +220,12 @@ static int scomp_acomp_comp_decomp(struct acomp_req *= req, int dir) } else break; =20 - spage =3D nth_page(spage, soff / PAGE_SIZE); + spage =3D spage + soff / PAGE_SIZE; soff =3D offset_in_page(soff); =20 n =3D (slen - 1) / PAGE_SIZE; n +=3D (offset_in_page(slen - 1) + soff) / PAGE_SIZE; - if (PageHighMem(nth_page(spage, n)) && + if (PageHighMem(spage + n) && size_add(soff, slen) > PAGE_SIZE) break; src =3D kmap_local_page(spage) + soff; @@ -270,7 +270,7 @@ static int scomp_acomp_comp_decomp(struct acomp_req *re= q, int dir) if (dlen <=3D PAGE_SIZE) break; dlen -=3D PAGE_SIZE; - dpage =3D nth_page(dpage, 1); + dpage++; } } =20 diff --git a/include/crypto/scatterwalk.h b/include/crypto/scatterwalk.h index 15ab743f68c8f..cdf8497d19d27 100644 --- a/include/crypto/scatterwalk.h +++ b/include/crypto/scatterwalk.h @@ -159,7 +159,7 @@ static inline void scatterwalk_map(struct scatter_walk = *walk) if (IS_ENABLED(CONFIG_HIGHMEM)) { struct page *page; =20 - page =3D nth_page(base_page, offset >> PAGE_SHIFT); + page =3D base_page + offset / PAGE_SIZE; offset =3D offset_in_page(offset); addr =3D kmap_local_page(page) + offset; } else { @@ -259,7 +259,7 @@ static inline void scatterwalk_done_dst(struct scatter_= walk *walk, end +=3D (offset_in_page(offset) + offset_in_page(nbytes) + PAGE_SIZE - 1) >> PAGE_SHIFT; for (i =3D start; i < end; i++) - flush_dcache_page(nth_page(base_page, i)); + flush_dcache_page(base_page + i); } scatterwalk_advance(walk, nbytes); } --=20 2.50.1 From nobody Sat Oct 4 00:27:00 2025 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 935D62C0285 for ; Thu, 21 Aug 2025 20:12:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755807163; cv=none; b=mHhKz/gtFlckBVcDI1rhwpwyUH7r0CgrZeJWDEfVyBnu506PD/IObvesiUx9UXGq8Har7evV0fS1b7PRvAyiVMaA4fZ1k76k3nmUTdQhygoOUuPLIYMJUV+d8pFpo0f5+n/+18FC4KGWz9GDZvmk9GY1VGE9FGCLjuwQpz4roLw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755807163; c=relaxed/simple; bh=tCsSQl+WRq69JZRVPLbubBOBHgSgQIUjNop92vdLyr4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=VGdQRnIYR9dgg9ERpSUALEC/yrpVSxLtPH0ixLNdWe2tisN2mQBjOhn/qsijYUQoim4JyTFPjeGsmdRRNMm7c7e90lq0aKGNhrO5/TzaB4glAb1AYoxqMaCU9eX1wIpS8SVjIhWZSzpx6Kf3pKgbVDZf8ia9YslkOcFfT7hGOUU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=V+v4RC/S; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="V+v4RC/S" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1755807160; 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: in-reply-to:in-reply-to:references:references; bh=wK69Pd9CHZjKZhmlaft7kkJNdToX7IH/S9WvVIRScQg=; b=V+v4RC/Spx+pLZQPEfNd7HbHpn/jXXupPOYZOzLnqMTsvxz4y+wB0DH16+waJ/bSxtqnUO CoA3g3tYKuYiBiruwNh8yg1WlZ3CP958TsdSpEQ2FAs/u4pyRRfHacKj3ZuFdrYv7QFJAp KZ5EMmQgCT2V5CgTZ6hKbnc4w/Zd7us= Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-552-gDEBGb4YOZW02XWYP41PEA-1; Thu, 21 Aug 2025 16:08:39 -0400 X-MC-Unique: gDEBGb4YOZW02XWYP41PEA-1 X-Mimecast-MFC-AGG-ID: gDEBGb4YOZW02XWYP41PEA_1755806918 Received: by mail-wr1-f72.google.com with SMTP id ffacd0b85a97d-3b9d41b88ffso838828f8f.0 for ; Thu, 21 Aug 2025 13:08:39 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755806918; x=1756411718; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=wK69Pd9CHZjKZhmlaft7kkJNdToX7IH/S9WvVIRScQg=; b=jd11zGf7ZZp666a1k4wZIwyQfdhF22KcYFqNmGAW4gE1V5Rg5Cjg6dh2uSY7CJhdZo yhoWVGmVNk+ksU6+/w0IFvvYMe57mXm2Q3o747u3ByJFMdb+Nudzpskckhk1BTTL3MK3 4JjWlN5k5PS5nTcy3nmGSymKp9r8GZaJYiAGk05fmy52kkYUHYu9HT8e9RG2KNIYmTHF 45IWbzU1LSNl0L0XPqVFs2m99AbpjPnOk0Os29b2ZgPVpwt2UFU7Hgh2TXIPwUbNbPe2 Bn5ziQsJNgReeqWKHf6ka/pdPPU6GYDZlZS/megEny5O9jCDN/rzGu1K2Lih+d5/sWau 8izQ== X-Gm-Message-State: AOJu0YwRlXDRX0wa0iW4OcaqbNuyG5ikm+kKvJpESr3lo1DTMTUgMdLc 8kkuyd6niK8zG7C7dD4Vq0HvdzzlUqUWgzwwhEDEplT3FQfVgnSOfjRATbH5fMr0QUt1DgPPQHx RKrVw2TrPubQeYd4b3SDu8KPwc5Lm2d2gFsrfvYGZceUB0izY6dk6yc2WZzcSXUXcWN96bU+63O gl6AOJY1IHArVJ80x1MACYJQ4aBVAoacL+TtqtDJ0LR6QTp6WU X-Gm-Gg: ASbGncuZbwf7ISphiSo0b5YZIOhQ/7g9tw8O+yd4Z5+b4/IGC1JOvx1IR+SbP0yFZ3w ZsMBbr5I5wugcsIM16m/VPywPKsxYjZ44O4YnVf6Qn6MTF4S6mbBhebiVqXrnpTOqdJbQcqwh+x fSlHf9iN7BNwt2eG78r2EoLDN5fppgf0TOnWb6JiO9h7M6JZa6lp9Dyt5w7y/cD9U94RHRVOFI/ +o1mtab/VwlF2MfBsD2oR22a96+jmhmXzZSBT/by49zltd6d8BFvKH4SJul/1uh6kDgtEOkz8Cj MAeZMkfmDm57giZW+61wJbRqdyg0/YnQmz7i/tiAIP4WzyuTi9LEET3cIsHSIh9Vwi1WUvVUPmV ugt2WH4bSXYw/8vWyEnEk1Q== X-Received: by 2002:a5d:64e9:0:b0:3b8:d7c7:62d7 with SMTP id ffacd0b85a97d-3c5daefc298mr218344f8f.16.1755806918042; Thu, 21 Aug 2025 13:08:38 -0700 (PDT) X-Google-Smtp-Source: AGHT+IETBfJ8klmP3LMs+G3FmlUfLKA9Qlb/rzelQ5gyETYamNwKefh2PCq6Da3p1XS4Ia+K1NPGrw== X-Received: by 2002:a5d:64e9:0:b0:3b8:d7c7:62d7 with SMTP id ffacd0b85a97d-3c5daefc298mr218279f8f.16.1755806917364; Thu, 21 Aug 2025 13:08:37 -0700 (PDT) Received: from localhost (p200300d82f26ba0008036ec5991806fd.dip0.t-ipconnect.de. [2003:d8:2f26:ba00:803:6ec5:9918:6fd]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-3c4ccbf04fasm3355197f8f.7.2025.08.21.13.08.35 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 21 Aug 2025 13:08:36 -0700 (PDT) From: David Hildenbrand To: linux-kernel@vger.kernel.org Cc: David Hildenbrand , Alexander Potapenko , Andrew Morton , Brendan Jackman , Christoph Lameter , Dennis Zhou , Dmitry Vyukov , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, iommu@lists.linux.dev, io-uring@vger.kernel.org, Jason Gunthorpe , Jens Axboe , Johannes Weiner , John Hubbard , kasan-dev@googlegroups.com, kvm@vger.kernel.org, "Liam R. Howlett" , Linus Torvalds , linux-arm-kernel@axis.com, linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-ide@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mips@vger.kernel.org, linux-mmc@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, Lorenzo Stoakes , Marco Elver , Marek Szyprowski , Michal Hocko , Mike Rapoport , Muchun Song , netdev@vger.kernel.org, Oscar Salvador , Peter Xu , Robin Murphy , Suren Baghdasaryan , Tejun Heo , virtualization@lists.linux.dev, Vlastimil Babka , wireguard@lists.zx2c4.com, x86@kernel.org, Zi Yan Subject: [PATCH RFC 32/35] mm/gup: drop nth_page() usage in unpin_user_page_range_dirty_lock() Date: Thu, 21 Aug 2025 22:06:58 +0200 Message-ID: <20250821200701.1329277-33-david@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250821200701.1329277-1-david@redhat.com> References: <20250821200701.1329277-1-david@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" There is the concern that unpin_user_page_range_dirty_lock() might do some weird merging of PFN ranges -- either now or in the future -- such that PFN range is contiguous but the page range might not be. Let's sanity-check for that and drop the nth_page() usage. Signed-off-by: David Hildenbrand --- mm/gup.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/mm/gup.c b/mm/gup.c index f017ff6d7d61a..0a669a766204b 100644 --- a/mm/gup.c +++ b/mm/gup.c @@ -237,7 +237,7 @@ void folio_add_pin(struct folio *folio) static inline struct folio *gup_folio_range_next(struct page *start, unsigned long npages, unsigned long i, unsigned int *ntails) { - struct page *next =3D nth_page(start, i); + struct page *next =3D start + i; struct folio *folio =3D page_folio(next); unsigned int nr =3D 1; =20 @@ -342,6 +342,9 @@ EXPORT_SYMBOL(unpin_user_pages_dirty_lock); * "gup-pinned page range" refers to a range of pages that has had one of = the * pin_user_pages() variants called on that page. * + * The page range must be truly contiguous: the page range corresponds + * to a contiguous PFN range and all pages can be iterated naturally. + * * For the page ranges defined by [page .. page+npages], make that range (= or * its head pages, if a compound page) dirty, if @make_dirty is true, and = if the * page range was previously listed as clean. @@ -359,6 +362,8 @@ void unpin_user_page_range_dirty_lock(struct page *page= , unsigned long npages, struct folio *folio; unsigned int nr; =20 + VM_WARN_ON_ONCE(!page_range_contiguous(page, npages)); + for (i =3D 0; i < npages; i +=3D nr) { folio =3D gup_folio_range_next(page, npages, i, &nr); if (make_dirty && !folio_test_dirty(folio)) { --=20 2.50.1 From nobody Sat Oct 4 00:27:00 2025 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 08A1737F210 for ; Thu, 21 Aug 2025 20:08:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806926; cv=none; b=mo+AkBVdSCpClb8eFT7dcwS+7vBWzmQpf2GEU960wlh9qUzjgNizWqD3/1OAa9wIW4bLktrYqR3J+4UQ4r5HpfLWbuCrOuFiJXSdRj3RRZvcrnE0yoEN7CneAoG/cNr82vP5Lut7XUNX1CqF6TPuRwDQ8XD0ZML4quVxzu42UII= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806926; c=relaxed/simple; bh=+AkJ4dNPQE9q5oho0ySkYtQ5iyrBmFIRoWrlEu7Fgds=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=tymbjWuAnoO3hbU0wrKrsa07CYJHCanSh2v4M7u4srZXespcA1cFOW9ND7PIFh12favs4nq4LZUNuZkKwvCKQgBYPhZDmEetQRHz1damfQzOCSey+LHeB3YtHhWX1+McUBYiCIWl3x/IBgx3bN+/oWGa7qn9e8cVwXsMFhLyGHc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=AURUNmCD; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="AURUNmCD" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1755806923; 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: in-reply-to:in-reply-to:references:references; bh=OnKBChYNBt6k7pWFZ1VK2zlCQ3hhOdGhc0x5VCAB6rA=; b=AURUNmCDt/nfzhjyn/UxG3OeCJDNr18oGNV5dZsJU/zpRMyTnjhkJWsUSiok/LinqbF/3K ZUpJICq5VKbJrV61M1jYWcAp47+LECC08Ze5fGgedKIteggF7tET/QWDPsMUK5pPM61wmS l6EP8nLOIp3tjkA8KP8PkwckMVqvkXk= Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-576-8Moyj35pO-e5D-kEW_9pBA-1; Thu, 21 Aug 2025 16:08:41 -0400 X-MC-Unique: 8Moyj35pO-e5D-kEW_9pBA-1 X-Mimecast-MFC-AGG-ID: 8Moyj35pO-e5D-kEW_9pBA_1755806920 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-45b51411839so825555e9.0 for ; Thu, 21 Aug 2025 13:08:41 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755806920; x=1756411720; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=OnKBChYNBt6k7pWFZ1VK2zlCQ3hhOdGhc0x5VCAB6rA=; b=hz3YrhckBXESt5LqCrtJdVDnx8NbYIpWRm8vTKM7qMnbG3Qn2FGkctBaLmZA2dceGm 0PkL1WiiERFksfWjgTXaEtmpAhft3Qz2AwnSPr6UrE5vhIp1rYKrUR6+lu96kWEcCJwS s9iYh8Th4dTLyjDFsLar25UvI1jItZ/0gg55cOn1ZxtPdkS/RNdO7K4+6nbjql8auvSV wx3SYxDqR20ZQpSvkTvC5Na3cSbLMBXRUVx3UDlRWCA2/ueXcBwu1KIF+PjH0hW8UJk1 m9r4v4UtphPj8NcfEd2DF0PPRE6T4O1GEOM+sBVqOyJQZFxhtIJencICT1lhTOsENE4v 7t5Q== X-Gm-Message-State: AOJu0YxKhr69GJIUHPHUx3obf4/jRHat6tZP327vdEe+mj/W3VA2lFnv wi8AtqQt7AtW8s5SdwTy2kIAQh39oKl7VvP0Itzje+wJyH2IVgpU/JFZkk3KtruFrJM5ZX8nwYF HTzW5ZTsKnCsip9EZxBsUiuKsDJrvF1DTP8EIObNURSZ3bXXj9zQvZajNlCeK2oWkfoXAWh64tA TgGlrh4lTMbnrQb7RRhI33kOKTTSZJRCyLvPVM5n2j4psdpmVI X-Gm-Gg: ASbGnctbXYDYm6N6S5EIA9vtU4wT5vjkBJ6bTsSGkUFXv1VYywBopp5CsyPAwoivJaQ yl5o86Z8jT3/s/WYsQzS3+uvk5g7OvQ6oaM+tPsKQBKQ5O2ntU+vZJxd/LohHuo+UP01UTV9AB1 ZbjYgIFKnAG1KXW6iyx+76ArYVwndvBA8Gao3DdJUOQbVKiaGSMYsGRGhdBfP6aItSftNrjd772 IPD09+wwpf4rENk3uE/FghM1zMHI1Gg2wk96jlEYU5OkhagyR79ms+S2CnD9SRGbEN+mBMa2B5W rM8dbKtudLdztBzF/ymKCkeOxqwBJcSigTwG8Ra4TsNrnxeIm94iLlTMlOMcGVZYtzfvfnyjkAR xD9u7YwhxL4zvawW6MV/mWw== X-Received: by 2002:a05:6000:2405:b0:3a4:e841:b236 with SMTP id ffacd0b85a97d-3c5dc735246mr192393f8f.33.1755806920502; Thu, 21 Aug 2025 13:08:40 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFrWn9aM0C/1GZBHvF1UL+fKz7WhllpDdsBGpm2GmVOIF4Yc/dULhABMcTdk4u9sLFplZdR3g== X-Received: by 2002:a05:6000:2405:b0:3a4:e841:b236 with SMTP id ffacd0b85a97d-3c5dc735246mr192328f8f.33.1755806919917; Thu, 21 Aug 2025 13:08:39 -0700 (PDT) Received: from localhost (p200300d82f26ba0008036ec5991806fd.dip0.t-ipconnect.de. [2003:d8:2f26:ba00:803:6ec5:9918:6fd]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-3c0771c166bsm12920369f8f.33.2025.08.21.13.08.38 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 21 Aug 2025 13:08:39 -0700 (PDT) From: David Hildenbrand To: linux-kernel@vger.kernel.org Cc: David Hildenbrand , Alexander Potapenko , Marco Elver , Dmitry Vyukov , Andrew Morton , Brendan Jackman , Christoph Lameter , Dennis Zhou , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, iommu@lists.linux.dev, io-uring@vger.kernel.org, Jason Gunthorpe , Jens Axboe , Johannes Weiner , John Hubbard , kasan-dev@googlegroups.com, kvm@vger.kernel.org, "Liam R. Howlett" , Linus Torvalds , linux-arm-kernel@axis.com, linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-ide@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mips@vger.kernel.org, linux-mmc@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, Lorenzo Stoakes , Marek Szyprowski , Michal Hocko , Mike Rapoport , Muchun Song , netdev@vger.kernel.org, Oscar Salvador , Peter Xu , Robin Murphy , Suren Baghdasaryan , Tejun Heo , virtualization@lists.linux.dev, Vlastimil Babka , wireguard@lists.zx2c4.com, x86@kernel.org, Zi Yan Subject: [PATCH RFC 33/35] kfence: drop nth_page() usage Date: Thu, 21 Aug 2025 22:06:59 +0200 Message-ID: <20250821200701.1329277-34-david@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250821200701.1329277-1-david@redhat.com> References: <20250821200701.1329277-1-david@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" We want to get rid of nth_page(), and kfence init code is the last user. Unfortunately, we might actually walk a PFN range where the pages are not contiguous, because we might be allocating an area from memblock that could span memory sections in problematic kernel configs (SPARSEMEM without SPARSEMEM_VMEMMAP). We could check whether the page range is contiguous using page_range_contiguous() and failing kfence init, or making kfence incompatible these problemtic kernel configs. Let's keep it simple and simply use pfn_to_page() by iterating PFNs. Cc: Alexander Potapenko Cc: Marco Elver Cc: Dmitry Vyukov Signed-off-by: David Hildenbrand --- mm/kfence/core.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/mm/kfence/core.c b/mm/kfence/core.c index 0ed3be100963a..793507c77f9e8 100644 --- a/mm/kfence/core.c +++ b/mm/kfence/core.c @@ -594,15 +594,15 @@ static void rcu_guarded_free(struct rcu_head *h) */ static unsigned long kfence_init_pool(void) { - unsigned long addr; - struct page *pages; + unsigned long addr, pfn, start_pfn, end_pfn; int i; =20 if (!arch_kfence_init_pool()) return (unsigned long)__kfence_pool; =20 addr =3D (unsigned long)__kfence_pool; - pages =3D virt_to_page(__kfence_pool); + start_pfn =3D PHYS_PFN(virt_to_phys(__kfence_pool)); + end_pfn =3D start_pfn + KFENCE_POOL_SIZE / PAGE_SIZE; =20 /* * Set up object pages: they must have PGTY_slab set to avoid freeing @@ -612,12 +612,13 @@ static unsigned long kfence_init_pool(void) * fast-path in SLUB, and therefore need to ensure kfree() correctly * enters __slab_free() slow-path. */ - for (i =3D 0; i < KFENCE_POOL_SIZE / PAGE_SIZE; i++) { - struct slab *slab =3D page_slab(nth_page(pages, i)); + for (pfn =3D start_pfn; pfn !=3D end_pfn; pfn++) { + struct slab *slab; =20 if (!i || (i % 2)) continue; =20 + slab =3D page_slab(pfn_to_page(pfn)); __folio_set_slab(slab_folio(slab)); #ifdef CONFIG_MEMCG slab->obj_exts =3D (unsigned long)&kfence_metadata_init[i / 2 - 1].obj_e= xts | @@ -664,11 +665,13 @@ static unsigned long kfence_init_pool(void) return 0; =20 reset_slab: - for (i =3D 0; i < KFENCE_POOL_SIZE / PAGE_SIZE; i++) { - struct slab *slab =3D page_slab(nth_page(pages, i)); + for (pfn =3D start_pfn; pfn !=3D end_pfn; pfn++) { + struct slab *slab; =20 if (!i || (i % 2)) continue; + + slab =3D page_slab(pfn_to_page(pfn)); #ifdef CONFIG_MEMCG slab->obj_exts =3D 0; #endif --=20 2.50.1 From nobody Sat Oct 4 00:27:00 2025 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 396B3352FCB for ; Thu, 21 Aug 2025 20:08:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806930; cv=none; b=gq5rrNfAhXcGgl7CIVk5SgvbdfB1cpkYk9Y1SH3aowfCVt14/a5ShGaq2Nk0ykskD1gomNpDK/dHFhTA3l1Wj2IJccnovjYLVTMlE7/2gXXtZN2Iw5M2LaoQefUCaSN9+7+4JDzrpgFHq3xNRcEOxu2vyBuQP2P2fw5UxGNni4Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806930; c=relaxed/simple; bh=izYuZWtM9expuJ4aw1W3JEFW5k9djBINp3Pti4HydYU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ub3J/FroVF8M3eHj3DGt6QkwQc4/03qTiDAwz1lELTebTdM4MlC2vbobinlLfaMiw4UJemIaXgxAmgMcz50POL4RBDCy/j3EM2NXDUfBaGaG48XRmUk9dcZjLJAh5uvZ3rUS7zTqSOJqf6qaalY75yLkU4SVjc5LZqT4+ILkICM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=BfFLyn1A; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="BfFLyn1A" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1755806926; 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: in-reply-to:in-reply-to:references:references; bh=Z7iPpUiW3LrFM0W3XrB+Z82uodwKTsefoCzXwhLbLUo=; b=BfFLyn1A3XUVMIK7uWjBslQ/m5F4eZHOGDiQuVm47rEGkd1Qi3fOYJdvSTYrt0cvWmMHVK oliEGHlLVDNhj7HJNikH54vLF1sA8w7ojbTlg2u+aeEWboEMIDKE99cXIcQ0FTla0A7+Kb WFYeNfLl6kwIgaKllu8wQf/1LOPGMk4= Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-592-yE00JGsZNsme9YE7sViW4g-1; Thu, 21 Aug 2025 16:08:44 -0400 X-MC-Unique: yE00JGsZNsme9YE7sViW4g-1 X-Mimecast-MFC-AGG-ID: yE00JGsZNsme9YE7sViW4g_1755806923 Received: by mail-wr1-f69.google.com with SMTP id ffacd0b85a97d-3b9e41037e6so864603f8f.1 for ; Thu, 21 Aug 2025 13:08:44 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755806923; x=1756411723; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Z7iPpUiW3LrFM0W3XrB+Z82uodwKTsefoCzXwhLbLUo=; b=ZdzWqoXCLx4h/CaY/SbN1s34FJB4V58Lqi36x0PtQ3U2amBxV/BUnbogZLc7oWDFp4 ZCKA6+9kjCDRvF9z7MtwNr1/G/rTHmfft/EsOJCyoHYQ55RtjfQfmwlVzgYB28h9q33Q rcTkxVld4P344U3wcN4gFo6WNCE6UPuZ2eUT8DOZFejQa0/WCl1Kkiq2erDT4xdQdEuQ AcfzzUzACjvHtRcXO8cFmCrvw3nTNLUsprNO51btPsNVaEkPK3rGzTxdW1hf+QiKsK8j Uzh18IxJNAklD9M6bfOnvVZxSPzIe0wzULAjMX9cLolFQWzhWEd/7RftSP2oqQnSGL2i iwBA== X-Gm-Message-State: AOJu0YyVRlIm+VDFV+TGyzO7JLvlj8lTiIgN/Qk9wCFLL2/bNzrG8t8m Q2VEGluNMIYLgu5+1GxsrJnvPsCr7v1smCBku4YTJPQQ4kg2uJw7uTEDT+GhASMj/mlx51l4Iwe G2OBkoQFeUpjXYCZ+BXjNsvJYQAdwmWqEbXVq5ddhT+TLrMZJNBnWC3aPiN0WdRft66sXwguEN7 JPkAr9eJKaIo2HqyJZQJNsbbP+/WI+828BzSJy/l8Pvnxazn2l X-Gm-Gg: ASbGncvN9nyA7TM111tbJBH/WHgR88UNia2r1yP2SOCzewdeLLDUijTCuoaUG4B8WEf 8GJUVcVentxQycxi9OkcwiuEQfdjj9l/zKGWy5ufnZKoszSBcWrqt6P77WpBN85zG2qV6OBV9tn iziHEtKbgCP0nXmkEGj3qGzg2Yabj0plUA0NL+YG4ehxahgoKoPuT/A7jTMOhCx/lDuRZfEdSgy EyBj9HY2b3n5oZOiwKxPPAHfdj29XT0pU/+expsAHiVfbj57pwmsa2bb32I70E3/Z5frRGScmDl E/eNajny+POg15a7psPW6e/xu8vPbLtzG8w9zqp/AiLzDxCG/+tq6KECIOEW7JgWhhjARAOT1Oe 6w2QYFpy1mBRIDQxogN3n/w== X-Received: by 2002:a5d:64ed:0:b0:3b5:dafc:1525 with SMTP id ffacd0b85a97d-3c5dc7313famr204708f8f.33.1755806922998; Thu, 21 Aug 2025 13:08:42 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHnHzRKC08dohUKQD/XdldMc6IWYVddiLtTh8Yidep5vx+5++gzVG23SiimMwYZ+HldR36Zkg== X-Received: by 2002:a5d:64ed:0:b0:3b5:dafc:1525 with SMTP id ffacd0b85a97d-3c5dc7313famr204645f8f.33.1755806922505; Thu, 21 Aug 2025 13:08:42 -0700 (PDT) Received: from localhost (p200300d82f26ba0008036ec5991806fd.dip0.t-ipconnect.de. [2003:d8:2f26:ba00:803:6ec5:9918:6fd]) by smtp.gmail.com with UTF8SMTPSA id 5b1f17b1804b1-45b50e3a587sm10028205e9.18.2025.08.21.13.08.40 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 21 Aug 2025 13:08:42 -0700 (PDT) From: David Hildenbrand To: linux-kernel@vger.kernel.org Cc: David Hildenbrand , Alexander Potapenko , Andrew Morton , Brendan Jackman , Christoph Lameter , Dennis Zhou , Dmitry Vyukov , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, iommu@lists.linux.dev, io-uring@vger.kernel.org, Jason Gunthorpe , Jens Axboe , Johannes Weiner , John Hubbard , kasan-dev@googlegroups.com, kvm@vger.kernel.org, "Liam R. Howlett" , Linus Torvalds , linux-arm-kernel@axis.com, linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-ide@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mips@vger.kernel.org, linux-mmc@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, Lorenzo Stoakes , Marco Elver , Marek Szyprowski , Michal Hocko , Mike Rapoport , Muchun Song , netdev@vger.kernel.org, Oscar Salvador , Peter Xu , Robin Murphy , Suren Baghdasaryan , Tejun Heo , virtualization@lists.linux.dev, Vlastimil Babka , wireguard@lists.zx2c4.com, x86@kernel.org, Zi Yan Subject: [PATCH RFC 34/35] block: update comment of "struct bio_vec" regarding nth_page() Date: Thu, 21 Aug 2025 22:07:00 +0200 Message-ID: <20250821200701.1329277-35-david@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250821200701.1329277-1-david@redhat.com> References: <20250821200701.1329277-1-david@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Ever since commit 858c708d9efb ("block: move the bi_size update out of __bio_try_merge_page"), page_is_mergeable() no longer exists, and the logic in bvec_try_merge_page() is now a simple page pointer comparison. Signed-off-by: David Hildenbrand --- include/linux/bvec.h | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/include/linux/bvec.h b/include/linux/bvec.h index 0a80e1f9aa201..3fc0efa0825b1 100644 --- a/include/linux/bvec.h +++ b/include/linux/bvec.h @@ -22,11 +22,8 @@ struct page; * @bv_len: Number of bytes in the address range. * @bv_offset: Start of the address range relative to the start of @bv_pag= e. * - * The following holds for a bvec if n * PAGE_SIZE < bv_offset + bv_len: - * - * nth_page(@bv_page, n) =3D=3D @bv_page + n - * - * This holds because page_is_mergeable() checks the above property. + * All pages within a bio_vec starting from @bv_page are contiguous and + * can simply be iterated (see bvec_advance()). */ struct bio_vec { struct page *bv_page; --=20 2.50.1 From nobody Sat Oct 4 00:27:00 2025 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 70BAF35337B for ; Thu, 21 Aug 2025 20:08:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806931; cv=none; b=kukkksEmSduuYvaTkHMKhdSgUupWlFRb+d4Iwp6ZJdqnuAJyHXRq/lCb9Hf8KTvvkL69JZB1to90M94FxdaORFRO6kON4iWFrW0tCosPRpRELzOSG0fOoyJPQxGuryIXMm/HH/Ha8zshmTPgEQ+dL2SNBCSISnN0r3AJ64o6cbQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755806931; c=relaxed/simple; bh=vBZZGz0SB0V7Hvywd1N29mvuGT2dBN/lU5Bb9Xz8Q6s=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=nYeodm6E9uk9+5Ov/86Du1RpreZoWz3XQIGM1KbvEn8oLvlRuTyJGqtFWiSOVmbn0c9f8cB2X9i2gnkdMnrtxZCpHPMYschPpxUkOKAN9uUM8ANZgQfui8HIsTqHe8HIUxp3hTZ4kizPdDnMv0LtEALi+iSkcdQ/cuQ0Ug8oHUA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=e1JSg2B2; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="e1JSg2B2" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1755806928; 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: in-reply-to:in-reply-to:references:references; bh=8aQmj/0+AYT4mPx/DatgQPPbmq0Lkvm9KCqKkKCdC9Q=; b=e1JSg2B2zYR4/k9MYnGN1wDcaVC0eaxaiLJohSY7QvdYHyg4VRv+llTGlQa4rwq5tW0NC5 d9/gP1NklKkwL0k06r9F7aLwoefh2d/vgLLQbqgpE6xsiDSjZh7lOltjT5v2OJLwsEIq+J 9PrzJIojvoLP/Q7Xbp8qcgcl6dtJiFA= Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-347-mkHwqqXmN4KyIumOv3qXGg-1; Thu, 21 Aug 2025 16:08:46 -0400 X-MC-Unique: mkHwqqXmN4KyIumOv3qXGg-1 X-Mimecast-MFC-AGG-ID: mkHwqqXmN4KyIumOv3qXGg_1755806926 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-45a1b0071c1so6423095e9.0 for ; Thu, 21 Aug 2025 13:08:46 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755806925; x=1756411725; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=8aQmj/0+AYT4mPx/DatgQPPbmq0Lkvm9KCqKkKCdC9Q=; b=b9nqb15ENTOLShHdePS24lFZrDGZqFpJlwfTbDkuA8zzybDxpVo4ALUqhEPPs+AdzR bu6OPOfxl4yRGqsnjPu2fGg/n2CQHKD3ZEx2nv6rQq978qdQjIQu7/89+OCTlwdWbmmg bKkAHR8+NP+EX6KCMd7kXLJiUi3bQs02tlGqworxfa+ZDbT6a5HbcwEHGMOeUrGNUZTG 5+q0gT5gy3v9PrrjdDC2HqL/lvF9Mpew7ZE39j/eW33G5kvCo0lZd1rKlMjH3AIxuhNN VIKvCs+eQ62kvTfhUGJ8GETwV1n5vG6PUMh8S/2ZEoI5KGpDTtyOkAdy382v/gtOegbD 3sAg== X-Gm-Message-State: AOJu0YwHAhCqnIsOYRzmRFYyL5pcpRFm2oFICJr59+uQZtyk9K6BWZiJ SSBsGyAh0+jCoeCg/wR51EN5PhH/ZrOk8HVNcZ1kgyuTz+HDV2RaX8JTTYXAgkVDsqGDk/7BwwC SVpjqYdP5yEt0rJdWFK2JbJZn3bTEC6g4RzoamDsv0Nr61F20n/FFIMp6J0H4qucrvNIv6VK0Et XBCZW035/J+QkETW/kZuZWQoGfHNOO3R8WYB94RPPAREhVbZDt X-Gm-Gg: ASbGncsD0R9kJC6VEca3XdSTSPSTNgIGseNEc25qDUo0Z5m/72vKz3a3TDwG8dEQbHp Z7FEJbY1PG/zdXS4cMmkM/+rnB4mjNrGbHEGPTKMOVRaFG2/5N3Al1W4WgAN3dQoAbRRpIqKfYk yecABTb0zVOB+i2S2cqh5+7LdJk9ow4ct/qTH5FbNZuRhudsF7SeDhszzWZLRBmMd258KH6uJIQ AUCYYcL3x7RziMcW+AXHQigyFH+AytfVcLbh3WPBbb/zo89vPhtCcQPxrBpfnf24pMo1w+0xeVd TfWjJer2umbfdgJuStzsauDeAZnK8RM7ima/iKcmOoRmJHrsOekaUy+Nivb0ZTcC7pQxxfdjt9y LRGci9ulV5crE0swn9Ta5yg== X-Received: by 2002:a05:600c:3b25:b0:459:da89:b06 with SMTP id 5b1f17b1804b1-45b517b008dmr3774665e9.16.1755806925619; Thu, 21 Aug 2025 13:08:45 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHDDv+I9AWZPVyKVFD2prHDmQqsK3mzEWwP5yNf0oRJXtHjmqgi3hMC3hwAmszm5rTAtK85Rg== X-Received: by 2002:a05:600c:3b25:b0:459:da89:b06 with SMTP id 5b1f17b1804b1-45b517b008dmr3774035e9.16.1755806925116; Thu, 21 Aug 2025 13:08:45 -0700 (PDT) Received: from localhost (p200300d82f26ba0008036ec5991806fd.dip0.t-ipconnect.de. [2003:d8:2f26:ba00:803:6ec5:9918:6fd]) by smtp.gmail.com with UTF8SMTPSA id 5b1f17b1804b1-45b50e0a479sm8895255e9.21.2025.08.21.13.08.43 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 21 Aug 2025 13:08:44 -0700 (PDT) From: David Hildenbrand To: linux-kernel@vger.kernel.org Cc: David Hildenbrand , Alexander Potapenko , Andrew Morton , Brendan Jackman , Christoph Lameter , Dennis Zhou , Dmitry Vyukov , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, iommu@lists.linux.dev, io-uring@vger.kernel.org, Jason Gunthorpe , Jens Axboe , Johannes Weiner , John Hubbard , kasan-dev@googlegroups.com, kvm@vger.kernel.org, "Liam R. Howlett" , Linus Torvalds , linux-arm-kernel@axis.com, linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-ide@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mips@vger.kernel.org, linux-mmc@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, Lorenzo Stoakes , Marco Elver , Marek Szyprowski , Michal Hocko , Mike Rapoport , Muchun Song , netdev@vger.kernel.org, Oscar Salvador , Peter Xu , Robin Murphy , Suren Baghdasaryan , Tejun Heo , virtualization@lists.linux.dev, Vlastimil Babka , wireguard@lists.zx2c4.com, x86@kernel.org, Zi Yan Subject: [PATCH RFC 35/35] mm: remove nth_page() Date: Thu, 21 Aug 2025 22:07:01 +0200 Message-ID: <20250821200701.1329277-36-david@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250821200701.1329277-1-david@redhat.com> References: <20250821200701.1329277-1-david@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Now that all users are gone, let's remove it. Signed-off-by: David Hildenbrand --- include/linux/mm.h | 2 -- tools/testing/scatterlist/linux/mm.h | 1 - 2 files changed, 3 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h index f59ad1f9fc792..3ded0db8322f7 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -210,9 +210,7 @@ extern unsigned long sysctl_admin_reserve_kbytes; =20 #if defined(CONFIG_SPARSEMEM) && !defined(CONFIG_SPARSEMEM_VMEMMAP) bool page_range_contiguous(const struct page *page, unsigned long nr_pages= ); -#define nth_page(page,n) pfn_to_page(page_to_pfn((page)) + (n)) #else -#define nth_page(page,n) ((page) + (n)) static inline bool page_range_contiguous(const struct page *page, unsigned long nr_pages) { diff --git a/tools/testing/scatterlist/linux/mm.h b/tools/testing/scatterli= st/linux/mm.h index 5bd9e6e806254..121ae78d6e885 100644 --- a/tools/testing/scatterlist/linux/mm.h +++ b/tools/testing/scatterlist/linux/mm.h @@ -51,7 +51,6 @@ static inline unsigned long page_to_phys(struct page *pag= e) =20 #define page_to_pfn(page) ((unsigned long)(page) / PAGE_SIZE) #define pfn_to_page(pfn) (void *)((pfn) * PAGE_SIZE) -#define nth_page(page,n) pfn_to_page(page_to_pfn((page)) + (n)) =20 #define __min(t1, t2, min1, min2, x, y) ({ \ t1 min1 =3D (x); \ --=20 2.50.1