From nobody Tue Sep 29 14:10:41 2026 Received: from mx0a-00364e01.pphosted.com (mx0a-00364e01.pphosted.com [148.163.135.74]) (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 A0FFA483BCF for ; Thu, 6 Aug 2026 22:57:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.135.74 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786057063; cv=none; b=kD08eMwYCGNnKUs5GyPE0x5xRDlfpWIf384t1J/oYe+x9y1i04x7EkT2ONGB18wtZ5/xtv3jJQQtZmQ7DeWf86Cn8lm6jxVdM3RsVDBJ5izRtHa8UNfH0nsssenBvHG2SXc63xHnd+M26PMAQ0hnaiNQL7tBKHL6MKPYCiu6RlA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786057063; c=relaxed/simple; bh=Z/Pf1wjPHp/5MmYoHHNlyHgCRaaKKmgN7D6wkWKiqpU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=D/84g1a66AyJQ0vXhaIT26DdGa1RcPMfUyFE+lEt/epQHXPq57UaxRvb7ymLHDIsXvXQxyVia2s32CY+E6Qe+xCNI4ZA75Y3Dj7efKTcwNmsa6+ijgdXT9l1vfTr6Fz3cZZe4loi+906EUaC9kFMyvS5+jvB2Ao7WHJMBUzIkVI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=columbia.edu; spf=pass smtp.mailfrom=columbia.edu; dkim=pass (2048-bit key) header.d=columbia.edu header.i=@columbia.edu header.b=GMdtXlFI; arc=none smtp.client-ip=148.163.135.74 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=columbia.edu Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=columbia.edu Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=columbia.edu header.i=@columbia.edu header.b="GMdtXlFI" Received: from pps.filterd (m0167071.ppops.net [127.0.0.1]) by mx0a-00364e01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 676Mbb3O2010622 for ; Thu, 6 Aug 2026 18:57:35 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=columbia.edu; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=pps01; bh=slF9 TASxrGjXq4oyPJrzhEUFsa0Hbx/RAJQ3YzomvN8=; b=GMdtXlFI5emvlPlZR8da nLq2wvBVZnzKgke6ziUdfuOCc7DQbV3ZFdL9pzhuswH7qaGG3GUIYPPEmasdN8Ty S0gFl06Ier0oZ/78uSBlBrH3lpjYDyxvGQDsaLrVmypqhNC7YcS9d12OElTfmtlV zyuyHwMKJXwIcNnm8hGM27iOskZrTrU+wWCXU0Lp/ZVb6SDFJq8cexBFBYidCeI6 SSKJOH717oxF7m0RK6XH8a9Qv+YI0s5VeZQrc8wlDgsJ9GcgLNT6bH6QiBkmBZhO w4gLyO2hs6KGlsWEiOMbZiiIbgsDts/69LvogwR8yy7UZfZroAP/mAxi1CbjfyYV Aw== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-00364e01.pphosted.com (PPS) with ESMTPS id 4fvphh5vr0-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 06 Aug 2026 18:57:34 -0400 (EDT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-52769fc3f2eso33272081cf.0 for ; Thu, 06 Aug 2026 15:57:34 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786057054; x=1786661854; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=slF9TASxrGjXq4oyPJrzhEUFsa0Hbx/RAJQ3YzomvN8=; b=dxeawlf0GMe8dyGEbohfJvSwypeS1pyE7WUAxnEYC9og5wdYYdjcZloN7i9SGZQodW HSHbIKaq2aBFjVXBKsTrNkMMn5hr7ZZcDe8leIOXZIHkGgK6a27dG6cW4uwkccV4KZfk 5rxhel54k3vdGvjqKtRmvkzORsD1RMkxAI4MQY8I//xRVwQ+WrNBSMn/4pRHxEvGYvSM wJqd4nfv1+3V+aIwovGeYsKlXW0007vHRNdh85aN7iieyCUobPeCqpxNP03pDn+do2VF Q5ClDjPAlzb1OSsYvlFyIqLNfAEtpSBEvxxyN3Nm0CgHiZj2CpAjWHCg3Y/Z3+5ER7cg CHKg== X-Forwarded-Encrypted: i=1; AHgh+RqefdUZLIfLt4hqwjxWX6kaKCyn14j+FKWJCsOcf2U6BgLyOdxl3M5OA2Mb5bJPs1nqYf4g/XuAcTAq0gc=@vger.kernel.org X-Gm-Message-State: AOJu0YyFgHCo2RwP0VOPA7EhFRWofFplBLYaKWj2IdDgskoCD7JdQ1TT gXfs+ZAF995D+71qWymXyT2zn/2K5MqFxhuRipJEahd8GBARX53CyuEOTAOnYlZYac0LTOyHB21 THsPPLtNVbZ2/hkUY58HuaYE8e3ZUNolfNUcL44S/w9hMDS6f06+FawMDQS4lbw== X-Gm-Gg: AR+sD11TZDJ+kDfrK239kwm1ZkuoIDYmgY9ihHGzZcYuMAYssv/urpyAZF5qEC+8QdG 1uVcxvBBAZCwMIGR4/u3BZcO0LyZQEmm/8tU5IDxyg/gXjDKIggqIMXA7KgdzSIyjJ4LcLyyw2c IlH2BDqoTJGRjTO/ZK5WD5IUt4ERs8mTa5wd+YcmbePf1u8Dh7oC3ohpGg4tVWifs0fTc0NC7Im nVnhVO7vmtqF9rk14tqHMUjx+/RUSMD8wOOUKVweiLybE+yQQzTarf+niex72eUopvMYw1CnTk4 QcBwEK/jqrmc91DQqgbCU3iwS2uQ2QE0Ls+gwW4SFHHGYWyFrbUGV0lTt6pUUPplFVEw79dteMC EoBvGVGypSg6U X-Received: by 2002:a05:622a:5889:b0:50d:9e8d:9837 with SMTP id d75a77b69052e-52ce5faa390mr204667111cf.11.1786057053844; Thu, 06 Aug 2026 15:57:33 -0700 (PDT) X-Received: by 2002:a05:622a:5889:b0:50d:9e8d:9837 with SMTP id d75a77b69052e-52ce5faa390mr204666601cf.11.1786057053318; Thu, 06 Aug 2026 15:57:33 -0700 (PDT) Received: from [127.0.1.1] ([77.137.78.43]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47ff7b31975sm8751344f8f.33.2026.08.06.15.57.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Aug 2026 15:57:32 -0700 (PDT) From: Tal Zussman Date: Thu, 06 Aug 2026 18:55:33 -0400 Subject: [PATCH 1/6] mm/page_io: convert write completion handlers to folios Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260806-b4-page_io-folios-v1-1-0899bac3b826@columbia.edu> References: <20260806-b4-page_io-folios-v1-0-0899bac3b826@columbia.edu> In-Reply-To: <20260806-b4-page_io-folios-v1-0-0899bac3b826@columbia.edu> To: Andrew Morton , Chris Li , Kairui Song , Kemeng Shi , Nhat Pham , Baoquan He , Barry Song , Youngjun Park , David Hildenbrand , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Matthew Wilcox , Christoph Hellwig , Johannes Weiner , Yosry Ahmed , Chengming Zhou Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Tal Zussman X-Mailer: b4 0.14.3-dev-d7477 X-Developer-Signature: v=1; a=ed25519-sha256; t=1786057045; l=1844; i=tz2294@columbia.edu; s=20250528; h=from:subject:message-id; bh=Z/Pf1wjPHp/5MmYoHHNlyHgCRaaKKmgN7D6wkWKiqpU=; b=34rWeTjzVbQM5iS9O77SE4hDvqRyovryFYlPWjzWpwBbPGodgVFihsld0G8libocRIvFsgrmw 1WqAV8yEYMAAnsmmHzOMn3B0ip41kOVtn+PYzBklggoaRDpAzd8daqh X-Developer-Key: i=tz2294@columbia.edu; a=ed25519; pk=BIj5KdACscEOyAC0oIkeZqLB3L94fzBnDccEooxeM5Y= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODA2MDE4MCBTYWx0ZWRfX1kVNSMhQIvkE xABmDYdZoEwTol5op2QYlntgVA/4Ww7c1mKObi26Pr58mAi+nh5QCwG2PYFzU6MIx1Qs62PMU22 cy2wA+Deufn9VzPTymos9pF0r/AXpSPzidTgcdHyF3Ag0QFmNQ8rtoCj1ksis+RT0DSZKT92IHN XEK1QefWXHXd1NwfJ941b/HmGKpBlsUimDRLfAVTrCzV2bvLdnsXC1wkQpXME35PyUTn/4k2Apk atPdy3G2TofHeSfgu546sx8Ix1+dkXHdDVy7t2cTZJMzG9R6fEHby57GyAhjus/bwiC1gge+izw H9xjxFtlsldYhBtSyOUOAdXFNDDxmEdqBYjODwjsib9UIokIVg9z9lDxU8xfE5pHeXo3I25iu/B D/2Gaszfl7TFB7iDmV0uvUcYIyPFnOWr+mHs7gZIGKk1Dd0ymaSbc3sdcO2nvgUW3Xs5hS90oSe zDV/cbriANbThyW7I+A== X-Authority-Analysis: v=2.4 cv=EoviaycA c=1 sm=1 tr=0 ts=6a75115e cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=z9N5oyD7lR4RENIpbqURcg==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=x7bEGLp0ZPQA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Da8U98TiO7q1upZEImrf:22 a=79PYxaXUQd1wl-QFWJnA:22 a=rmnECYv2iy4ui3MlnykA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-GUID: JjgA3_bChklWzc-veY02yBKjPP0h7mCW X-Proofpoint-Spam-Info: AW1haW4tMjYwODA2MDE4MCBTYWx0ZWRfX2xr51uJZX5YL s5LLa3KoYO/e3USrUDRZb51zCEL4RhTLBZauewkf2iLPWv/R6hJkcCaFyqXASdDYVXCtV2Ohx/P 1LRZtt9CbIN8+kB7SqCnl5e6TXpYAcxDRXIP50uFFvDNs2byZlNq X-Proofpoint-ORIG-GUID: JjgA3_bChklWzc-veY02yBKjPP0h7mCW X-Proofpoint-Virus-Version: vendor=nai engine=6900 definitions=11867 signatures=596817 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 suspectscore=0 priorityscore=1501 adultscore=0 spamscore=0 lowpriorityscore=10 impostorscore=10 bulkscore=10 malwarescore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608060180 Convert swap_write_end() and swap_fs_write_complete() to operate on folios directly instead of going through the folio-compat page APIs. This removes calls to end_page_writeback() and set_page_dirty(), and the last caller of ClearPageReclaim(), saving two calls to compound_head() per folio on the write error path. Signed-off-by: Tal Zussman Acked-by: Johannes Weiner Reviewed-by: Lorenzo Stoakes (ARM) Reviewed-by: Matthew Wilcox (Oracle) --- mm/page_io.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/mm/page_io.c b/mm/page_io.c index e4fa7ffffe8b..43b4383a4729 100644 --- a/mm/page_io.c +++ b/mm/page_io.c @@ -496,13 +496,13 @@ static void swap_write_end(struct swap_iocb *sio, boo= l failed) int p; =20 for (p =3D 0; p < sio->nr_bvecs; p++) { - struct page *page =3D sio->bvecs[p].bv_page; + struct folio *folio =3D bvec_folio(&sio->bvecs[p]); =20 if (failed) { - set_page_dirty(page); - ClearPageReclaim(page); + folio_mark_dirty(folio); + folio_clear_reclaim(folio); } - end_page_writeback(page); + folio_end_writeback(folio); } mempool_free(sio, sio_pool); } @@ -513,16 +513,16 @@ static void swap_fs_write_complete(struct kiocb *iocb= , long ret) bool failed =3D ret !=3D sio->len; =20 if (failed) { - struct page *page =3D sio->bvecs[0].bv_page; + struct folio *folio =3D bvec_folio(&sio->bvecs[0]); =20 /* * In the case of swap-over-nfs, this can be a temporary failure * if the system has limited memory for allocating transmit - * buffers. Mark the page dirty and avoid + * buffers. Mark the folio dirty and avoid * folio_rotate_reclaimable but rate-limit the messages. */ pr_err_ratelimited("Write error %ld on dio swapfile (%llu)\n", - ret, swap_dev_pos(page_swap_entry(page))); + ret, swap_dev_pos(folio->swap)); } =20 swap_write_end(sio, failed); --=20 2.39.5 From nobody Tue Sep 29 14:10:41 2026 Received: from mx0a-00364e01.pphosted.com (mx0a-00364e01.pphosted.com [148.163.135.74]) (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 9C22E353A64 for ; Thu, 6 Aug 2026 22:57:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.135.74 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786057061; cv=none; b=SXsKlND4sZFwRipr3vlFAigt+R2kmz5G6zYNX5xNyDPIX7OKZxrKRX0IKwfXVMlF9AIPxAfRIAUG36OOtXs+TLYDjKVH7OQTARSaEgS3kKNZk+IWbuQuWIKE1xLQCHmYN9RHarBju5i0Rs3v6fOesjQ7mNcLMR2D8E9nww46uHc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786057061; c=relaxed/simple; bh=ImZr535pNw3fhd2raTxgYzgeSnDSZnFM7CY4WW5zjLA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=sPKNEjU0kn1MmtmccyMPCPxBg4LDyhhk6XDBqEMJOlHeWtAA6Au1/ezJghH6cUFT3IE0M4h8g8WCLR2Tv+q0ycv+Tc3yBEQYbtkdUhucxYyEWEGcdGUsnOUT5QWu4ysHXK6yFTQPlCHvKGkTpTiuKe/iD79R0JlHHOHrry5Iqig= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=columbia.edu; spf=pass smtp.mailfrom=columbia.edu; dkim=pass (2048-bit key) header.d=columbia.edu header.i=@columbia.edu header.b=CuH2xb8a; arc=none smtp.client-ip=148.163.135.74 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=columbia.edu Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=columbia.edu Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=columbia.edu header.i=@columbia.edu header.b="CuH2xb8a" Received: from pps.filterd (m0167069.ppops.net [127.0.0.1]) by mx0a-00364e01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 676MbpVj3887045 for ; Thu, 6 Aug 2026 18:57:39 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=columbia.edu; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=pps01; bh=6lf7 tc0430xT4gOTJbtq5G4DzoBoGs9vPXXkZBh7qyk=; b=CuH2xb8aNhrirQRyvQLB qA8d8CpM1G5Obaz5Bg5nA3EQvWdOfVmDqLPvIEGhyNdl6HJSKt2V1d8z07uTcmjx LFDkMZf2cX7Iy925YnCqnzUvhIbW5xrx3nImDAgeFiOVOJYSE7quL0KSuyTNMVSc nTbYEhyVfJW4Bf4IwfztAjWEetA3TSuVoiDu5q/zqblBdPzDzJEuClHUT3xkA4yU Fa2a/VemsEGrUyGdJtbo1EyUOc81/0w1FzQM9DlTFoLAUkhB/NI1GCk4x4p+qc+D IkbCpvIzTfVD8c8W9dj6EGugHAoCsyFchbRQgPOMxsqbiqZJmlsPm+uNZFjNnA+R vw== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-00364e01.pphosted.com (PPS) with ESMTPS id 4fvy2xj18a-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 06 Aug 2026 18:57:38 -0400 (EDT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-5174a236220so26304781cf.3 for ; Thu, 06 Aug 2026 15:57:38 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786057058; x=1786661858; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=6lf7tc0430xT4gOTJbtq5G4DzoBoGs9vPXXkZBh7qyk=; b=KcDE4bjnjaS2Qul1TeH5vxUWo2MLspdKGJUI4TpdiMkdNr4sZfK7B6deo8j4+sCGXI 3CY6cjiOm8Nj+msDxQcvKq7C0Alg4lazDOs8yW9JUSOuvDMGT7lLb0N718f6zvhG1w3j HPM1Y4o8lAZCQz1Wl6FRlus/mf4KXOFhrLAG4cbxfZJiG9EiAroCdYy0msrIRWO5zMd2 m53JhWKZn3MyB57ma0Toq+6DpzO4n1F0bVrtTb4Ahj85mFOaU0VSQNRZMMoP3EGsxW+d TJ68levvSoYFd0z692GhVhn7DL0nJFq32FywXggQBWZ+5cnNUmHh1FY5MLbnWICJTxVV I7Dw== X-Forwarded-Encrypted: i=1; AHgh+Rqrs5iWWvKpwouD/exAu+auv4H0O5nDycbqjgdQj2c4M9zUgQVaQOSlyhmeQt2I415U71j4UGc8h1cTrLE=@vger.kernel.org X-Gm-Message-State: AOJu0Yy8vNl8eEgyWskdvS45TXKuPY34trDwYqCTJYS0CABSf6VDIM8o GPLj+rM58mbqdeMgb5YW/7Vnj0Tezq4jDsxpdxdHGfZyqSwTLkQbC1fKBGzzIyEFUR8hn38RfRV QJ3weHUu7GO3C0mOWv35mFm0nhlgSinsKiv2uEjDJcg2JfeFoHIad4QSc3aZc7Q== X-Gm-Gg: AR+sD11yqmjjKw0RuUTe749St5xslE35/FRKcVEt6P+vOHEh6rpMGPTs8lEDcQFFoEg JFxOihpA5QGXEe8elAwFbTXA+RqteBqM+uSDHRhqBm1essEfjaS/BfDhnPCW/3ghEcmdYgGwR4Z S1ZbYZfYQAyU7Mxi32fQ6CBYx7OxEX6tNSRB3Yv6ocBOwXcdMViXMzmVZoKAlmWcGgHV4guOs4L 4cDk95PifPOrrwJ0Lw7aUALqhDPh0TExhRU8hnhdmni2fbE0GqU1usTF5kPIHF/XhbwaZ+lDuzG et1J6kY5ktj7H2aqENrlZlavZlCRRjMjpHgCt3zNx4b2dVw/rjGCYxUMh1dINcWKnRF6xa8U9zO bz7QGpQODSvnM X-Received: by 2002:a05:622a:138b:b0:51c:164b:b242 with SMTP id d75a77b69052e-52ce5fc06femr192656941cf.15.1786057057680; Thu, 06 Aug 2026 15:57:37 -0700 (PDT) X-Received: by 2002:a05:622a:138b:b0:51c:164b:b242 with SMTP id d75a77b69052e-52ce5fc06femr192656461cf.15.1786057057182; Thu, 06 Aug 2026 15:57:37 -0700 (PDT) Received: from [127.0.1.1] ([77.137.78.43]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47ff7b31975sm8751344f8f.33.2026.08.06.15.57.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Aug 2026 15:57:36 -0700 (PDT) From: Tal Zussman Date: Thu, 06 Aug 2026 18:55:34 -0400 Subject: [PATCH 2/6] mm: remove PageReclaim Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260806-b4-page_io-folios-v1-2-0899bac3b826@columbia.edu> References: <20260806-b4-page_io-folios-v1-0-0899bac3b826@columbia.edu> In-Reply-To: <20260806-b4-page_io-folios-v1-0-0899bac3b826@columbia.edu> To: Andrew Morton , Chris Li , Kairui Song , Kemeng Shi , Nhat Pham , Baoquan He , Barry Song , Youngjun Park , David Hildenbrand , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Matthew Wilcox , Christoph Hellwig , Johannes Weiner , Yosry Ahmed , Chengming Zhou Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Tal Zussman X-Mailer: b4 0.14.3-dev-d7477 X-Developer-Signature: v=1; a=ed25519-sha256; t=1786057045; l=887; i=tz2294@columbia.edu; s=20250528; h=from:subject:message-id; bh=ImZr535pNw3fhd2raTxgYzgeSnDSZnFM7CY4WW5zjLA=; b=stFLBiK6U2HQ9vdWfK+91RWhFSCfZKTgNnFMHS38/dwaiaus0/kzEM/uofDYgCT1HKOGt4viG 7dYb1vy8go9Dj1hRMINw6GNjuC2MqdyDJb2bMx3q+3iQHYiOFKfIeSW X-Developer-Key: i=tz2294@columbia.edu; a=ed25519; pk=BIj5KdACscEOyAC0oIkeZqLB3L94fzBnDccEooxeM5Y= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODA2MDE4MCBTYWx0ZWRfX8iL35hB5wNPe G8qQ8VfD2gPWohQ/YY8wt7qWYdABicwDsQutxrc5RK+nQIKXjTviGX3HW8u8DcXx+a223cfvpzT FnJOBK2af/DCBSN1t28T9Tb0jI+X+WaBgm1F5Q6FDQC3E17THC7qg/4UX+h3MCjWl3T2K9OMoKW tG4a2RR/f+ZwajEH8LRgnko9vqYUOXiGJhbU5OoWmextrE6Yt1UvBbTWFNcoyTT0UYYK6d2OsN5 4Jd1KgLMF//Dl6CKlW0vzz+NGutLJvGwRg/qjjXRFCcfKDMQOLUOdgDxixd4h5izOIVB3URFKxG FDufCoAeTMWF+ZQL63zMIpckTIUW63mKs7w3YthxqW3joB5tuL9P+b4mGijSNvnYtYH4GWLhqMx pfZDUwebpf8fCdfFf/htC/H7ohRK7dNqeMZzSQ+Js6TekbdPgSvPyifA0ZWepdqPdIvFoTeAbRV 55vaw3fPQWl5bg8J0Yw== X-Proofpoint-ORIG-GUID: YDEsP1bp8qv9JAIL3E2vC-sQkytaPmzA X-Authority-Analysis: v=2.4 cv=bP8m5v+Z c=1 sm=1 tr=0 ts=6a751162 cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=z9N5oyD7lR4RENIpbqURcg==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=x7bEGLp0ZPQA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Da8U98TiO7q1upZEImrf:22 a=JR4YdQiviy7OQf72WyZ1:22 a=d9xi81fPSHklMBTu3CMA:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-GUID: YDEsP1bp8qv9JAIL3E2vC-sQkytaPmzA X-Proofpoint-Spam-Info: AW1haW4tMjYwODA2MDE4MCBTYWx0ZWRfX4zfj9WhbnVsP tLyAjMBTLTN+h2jUauhNwFOYk+M/KH4tx9hjR6Ya0jZlbJbXfw1/tR20ToN5NAQPa0nx4rFJpPJ na7bAdQmTxpV7Kaqo2EnXRWHTgBTy9R7+Y9S9PxGHQP4qGccslUE X-Proofpoint-Virus-Version: vendor=nai engine=6900 definitions=11867 signatures=596817 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 suspectscore=0 priorityscore=1501 clxscore=1015 adultscore=0 bulkscore=10 impostorscore=10 spamscore=0 lowpriorityscore=10 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608060180 This flag is now only used on folios, so we can remove all the page accessors. Signed-off-by: Tal Zussman Acked-by: David Hildenbrand (Arm) Acked-by: Johannes Weiner Reviewed-by: Lorenzo Stoakes (ARM) Reviewed-by: Matthew Wilcox (Oracle) --- include/linux/page-flags.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h index 7a863572adce..4cc83f41ef09 100644 --- a/include/linux/page-flags.h +++ b/include/linux/page-flags.h @@ -593,8 +593,8 @@ TESTPAGEFLAG(Writeback, writeback, PF_NO_TAIL) FOLIO_FLAG(mappedtodisk, FOLIO_HEAD_PAGE) =20 /* PG_readahead is only used for reads; PG_reclaim is only for writes */ -PAGEFLAG(Reclaim, reclaim, PF_NO_TAIL) - TESTCLEARFLAG(Reclaim, reclaim, PF_NO_TAIL) +FOLIO_FLAG(reclaim, FOLIO_HEAD_PAGE) + FOLIO_TEST_CLEAR_FLAG(reclaim, FOLIO_HEAD_PAGE) FOLIO_FLAG(readahead, FOLIO_HEAD_PAGE) FOLIO_TEST_CLEAR_FLAG(readahead, FOLIO_HEAD_PAGE) =20 --=20 2.39.5 From nobody Tue Sep 29 14:10:41 2026 Received: from mx0a-00364e01.pphosted.com (mx0a-00364e01.pphosted.com [148.163.135.74]) (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 E76FD47F775 for ; Thu, 6 Aug 2026 22:57:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.135.74 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786057067; cv=none; b=B86VaiSTKS+3Zp2fX936HaSyq1fBVx6tGVyOu3NmgEpKS8CA12674Ax+XNZp0Q2ozbGaKunmbR0V21r7ZDXXgyeQ7XenfDgwm4nHpN2nfCqnG6wOZFS3JBK9YYYqs+xBnAUGggcGVwGVHrF3dq2CyPPiiJNvrhGmqPmPVlY5w5E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786057067; c=relaxed/simple; bh=sJKkFgQDnw4D+7fvAxACkB8gllBi2zXD16xuRSf5TpA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=K0SiXP8csqbsg1NH5SoHAd8YcXEq20Y5JpBftQ8vD/WAhmrxbhWqH/4Z86x+43iL1bPaJOUraoEBzmncZmitS4KUnVjUAfftIZAoq15Qt5G44giKvsAviOIu2iB01cIBH7RrWZmYbF++PT7JryKmyLQG/IbHsDKWSetbN6RIr4g= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=columbia.edu; spf=pass smtp.mailfrom=columbia.edu; dkim=pass (2048-bit key) header.d=columbia.edu header.i=@columbia.edu header.b=bD8PqeYy; arc=none smtp.client-ip=148.163.135.74 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=columbia.edu Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=columbia.edu Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=columbia.edu header.i=@columbia.edu header.b="bD8PqeYy" Received: from pps.filterd (m0167071.ppops.net [127.0.0.1]) by mx0a-00364e01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 676MbpDM2011403 for ; Thu, 6 Aug 2026 18:57:43 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=columbia.edu; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=pps01; bh=+BtN eIIgUixsl8uOBsAzvqupdbY7xnj71en9gJPKtw0=; b=bD8PqeYylzEeXGydh/+l msgQ/toa/SeeX5brb3jszJBSON4O4SpZ1OnEl2NsNdYi8nubMf8NeL3u4AtAgel7 0bKmlEsZp0TSh9DLgU0JcK0hzH+zDGLvwe/PyxgJLgQrGGZj7s0Ms9x2oXyt263z QRdP5Cq5gvYGNoYSaDfoWHdE+A2TcTJKsVk5rGzAQz8XTprom5/Zq6QRIDrMKJ8W xqhcN/r0FwI3zre8srpOd+bao18A5BcpcUDEDlqZAgrObcrP6lfhKmf3ygvUINMC nXXBhkGjHZHZ2gIQq2fmIVtRGJ228xVKN4Fo0YWjwDrhXT5qQudvTyfggC4LtPJX hQ== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-00364e01.pphosted.com (PPS) with ESMTPS id 4fvphh5vrr-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 06 Aug 2026 18:57:42 -0400 (EDT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-52b4f6ac06aso43307591cf.1 for ; Thu, 06 Aug 2026 15:57:42 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786057062; x=1786661862; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=+BtNeIIgUixsl8uOBsAzvqupdbY7xnj71en9gJPKtw0=; b=sSA1878/YxOEi1+FxPIZCXenoT1PtrYz1LdWNRRPqJEZGtXBeqjdaQodwsVV8Bnwmm qoXHOHNw79f0oJTaiktXXh38WKyU6qsYL56qARISjIwRKbWDQfyvn83B2soOVdxeEyDt 1XQshqUTaNapkCVl1qvVIVFeN/2Oz0+xExJs6XdOFNTU9mk5Xi8hjj0+Xka0Xru02Sa8 U9lA12p5d/jS0dryMa8eqOkNrDc/ypTOp2rYvBzXfoDxXR5aFCtDN24+oZmRuruM6SsY hHSoRyxJrmepdBiBuGPP4YzaS7he0A7Es6l7r4lm14oHDvvEItdOr+xzFSSMFL6j/nNZ PBfw== X-Forwarded-Encrypted: i=1; AHgh+RolgNXnimGdmG6KSAebOzFj1liEHNge02hw+vO67zwvRlRl4J76j8+hvEpiDfrOPkYGimfhD83xiHd+2X8=@vger.kernel.org X-Gm-Message-State: AOJu0YzNPAZcl9tkvsfbtkKsHQPKKBwEb1LuVwLT9hVSrg0ncXA3RiUj +I1oVS6j14AmYHPpdczxf5wgMXpbgTzAdYUPqGLoiC3OgR37yT4dJJ/rUuYgiYp/cZDyvxKH+/p TIBx0B+do428B5eDEqQi54SwVvqmAANnPDY0ftn5gNm9tw2PFs0qirZTy3eYuvA== X-Gm-Gg: AR+sD12Y0t03KEGCS51iOsa31ctRNRr8BHRTctqVHYRm4WU1OfFyHPI4CrVk+I9bLOf TVWgF2NrC8eGRFEA02CaEJ0vuiRX6YFcTANjrnvswF2KCQNx0yMMoiyBm+v03iQwoqDnTpD2nDd HriYVIzK48oqL8pV7Ts85imtbuuXbgP7e5d6A9+Kh1efGe6yEo8iHcdK+Ik/1KrcKGIOuaYyoQw lQz4kk0O7KvEC+34Xf4csigf+XUt8ZQlR/OaLZl4tlrreXu7OlgmFBGvVQb7sOa1dWk29/bKvRo W7hJPZBXnaDUfxAon4wiONAwp/iax28+uK7Uae+1dB9WKSyC5p2Y44DL5DoNKHCGMVoMPMjWUDu xcy0viY17ApwV X-Received: by 2002:ac8:5d53:0:b0:526:d595:c7fa with SMTP id d75a77b69052e-52d0b21b43amr56213211cf.31.1786057061777; Thu, 06 Aug 2026 15:57:41 -0700 (PDT) X-Received: by 2002:ac8:5d53:0:b0:526:d595:c7fa with SMTP id d75a77b69052e-52d0b21b43amr56212861cf.31.1786057061387; Thu, 06 Aug 2026 15:57:41 -0700 (PDT) Received: from [127.0.1.1] ([77.137.78.43]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47ff7b31975sm8751344f8f.33.2026.08.06.15.57.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Aug 2026 15:57:39 -0700 (PDT) From: Tal Zussman Date: Thu, 06 Aug 2026 18:55:35 -0400 Subject: [PATCH 3/6] mm/page_io: use swap entries directly in zeromap helpers Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260806-b4-page_io-folios-v1-3-0899bac3b826@columbia.edu> References: <20260806-b4-page_io-folios-v1-0-0899bac3b826@columbia.edu> In-Reply-To: <20260806-b4-page_io-folios-v1-0-0899bac3b826@columbia.edu> To: Andrew Morton , Chris Li , Kairui Song , Kemeng Shi , Nhat Pham , Baoquan He , Barry Song , Youngjun Park , David Hildenbrand , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Matthew Wilcox , Christoph Hellwig , Johannes Weiner , Yosry Ahmed , Chengming Zhou Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Tal Zussman X-Mailer: b4 0.14.3-dev-d7477 X-Developer-Signature: v=1; a=ed25519-sha256; t=1786057045; l=1819; i=tz2294@columbia.edu; s=20250528; h=from:subject:message-id; bh=sJKkFgQDnw4D+7fvAxACkB8gllBi2zXD16xuRSf5TpA=; b=Z5eVKtKpEu1msICJUvHhk2JVpPnjNPEGPZt57+DcEU4eZ4aX7BlwsiyIQJYbee8h7x4KicOS8 eCBeTzh3AA3DUcKXER89FNnkFhP89hv7n47RmkN5VeHZkgWD5d4g6lV X-Developer-Key: i=tz2294@columbia.edu; a=ed25519; pk=BIj5KdACscEOyAC0oIkeZqLB3L94fzBnDccEooxeM5Y= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODA2MDE4MCBTYWx0ZWRfX69nMXXjlsjsm 4tr98tbn2kQVPpMKcaO2eKVibsgqXMgbiKMY+o6SXNstJQBRBwGonQM1SIiCiQFc1pft5bHpNdy +XQkWFQcuU49tRPA3IriQmVgi2K/0YVhuhXhJQrZpTm01Ev2qxEpEk2Gt1sQ9yGVf14L/ti/Jjp AnumJ6Ms69oaJ2u4ruPqiJ3Nu2b/czl+ORBLLdpqdObcOcCUAa/k9Mv5CLvAFtSHLJliXLGQQ0g PNmIp+2ZOv2pRiFDXeAzmmXrCEfsgeuVZBnUi2j4htIdTzhi/Uwhf+TrbhLIAnAJWaTZpyW7pl5 J1KHl3192B+dGE1/LTICmVx7hfpOZ617Na5G+OnMjqiBqo6i8tkRhImOcEFBguPU5N6F+8Woaem Ud1cPqW9q/zBPP2KoGx4Eq3lcdhx4jJ4BSum2XkW5tfih03DzFZopH2qSGXhXSCXMDq4lPuSbwi 8+GT/JumNhEcmZLl7FA== X-Authority-Analysis: v=2.4 cv=EoviaycA c=1 sm=1 tr=0 ts=6a751166 cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=z9N5oyD7lR4RENIpbqURcg==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=x7bEGLp0ZPQA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Da8U98TiO7q1upZEImrf:22 a=79PYxaXUQd1wl-QFWJnA:22 a=HViwNVsgdNRDn9LUnL8A:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-GUID: Pq1eUIiQPf2IPJ1PfrytgIm2Pw-zHhVi X-Proofpoint-Spam-Info: AW1haW4tMjYwODA2MDE4MCBTYWx0ZWRfXz3cWZAPBfQtR jeXBcfccULQgfhfFC9fAR4CzqJzWWtMb9tEx0ymY65wq369gwkwoae+lvnHzQ9TY48TldVfHY+M tr6yuRrlLDfw56goSmKDQveQ1EoONctgxJOwBK2+2Au+m7kH0xfZ X-Proofpoint-ORIG-GUID: Pq1eUIiQPf2IPJ1PfrytgIm2Pw-zHhVi X-Proofpoint-Virus-Version: vendor=nai engine=6900 definitions=11867 signatures=596817 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 suspectscore=0 priorityscore=1501 adultscore=0 spamscore=0 lowpriorityscore=10 impostorscore=10 bulkscore=10 malwarescore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608060180 Increment swp_entry_t::val directly instead of recomputing each entry with page_swap_entry(). This removes the last struct page usage in page_io.c and saves one call to compound_head() per page. Signed-off-by: Tal Zussman Acked-by: Johannes Weiner Reviewed-by: Lorenzo Stoakes (ARM) Reviewed-by: Matthew Wilcox (Oracle) --- mm/page_io.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mm/page_io.c b/mm/page_io.c index 43b4383a4729..c6d0949b3f1e 100644 --- a/mm/page_io.c +++ b/mm/page_io.c @@ -159,7 +159,7 @@ static void swap_zeromap_folio_set(struct folio *folio) struct obj_cgroup *objcg =3D get_obj_cgroup_from_folio(folio); int nr_pages =3D folio_nr_pages(folio); struct swap_cluster_info *ci; - swp_entry_t entry; + swp_entry_t entry =3D folio->swap; unsigned int i; =20 VM_WARN_ON_ONCE_FOLIO(!folio_test_swapcache(folio), folio); @@ -167,8 +167,8 @@ static void swap_zeromap_folio_set(struct folio *folio) =20 ci =3D swap_cluster_get_and_lock(folio); for (i =3D 0; i < folio_nr_pages(folio); i++) { - entry =3D page_swap_entry(folio_page(folio, i)); __swap_table_set_zero(ci, swp_cluster_offset(entry)); + entry.val++; } swap_cluster_unlock(ci); =20 @@ -182,7 +182,7 @@ static void swap_zeromap_folio_set(struct folio *folio) static void swap_zeromap_folio_clear(struct folio *folio) { struct swap_cluster_info *ci; - swp_entry_t entry; + swp_entry_t entry =3D folio->swap; unsigned int i; =20 VM_WARN_ON_ONCE_FOLIO(!folio_test_swapcache(folio), folio); @@ -190,8 +190,8 @@ static void swap_zeromap_folio_clear(struct folio *foli= o) =20 ci =3D swap_cluster_get_and_lock(folio); for (i =3D 0; i < folio_nr_pages(folio); i++) { - entry =3D page_swap_entry(folio_page(folio, i)); __swap_table_clear_zero(ci, swp_cluster_offset(entry)); + entry.val++; } swap_cluster_unlock(ci); } --=20 2.39.5 From nobody Tue Sep 29 14:10:41 2026 Received: from mx0a-00364e01.pphosted.com (mx0a-00364e01.pphosted.com [148.163.135.74]) (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 304684446EC for ; Thu, 6 Aug 2026 22:57:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.135.74 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786057071; cv=none; b=QOclegsqXAWMLtOvQumlRMlnttPKJqGiXKgQyu/msDKgg5V7kIFWXtpL9wBQ3gNyOBXI/sTTD2rqNhY+1Tke50nYuLYLbn6n6daVL37sqDX3guo1a6budY1EwyPwVDj379HgJ7VYw4V+6OhsyOE02vTNOC/g8yWF4H7GN76J4f0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786057071; c=relaxed/simple; bh=3OPG7b3tK7Cq1uVgPCHfhGHZH2DVy12VkTYBlm1Q10Q=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=J89/VHtyY+3StzM+WTiWLGHjqJG+L7iWbyW6XVnCsgVCXd+5Z/6mto7SlxJxK7xFWRXukFGdQCzcoU2Zh5e42XCiDM6duQSlixYbUJetC4I2ZVl0Uhuh98xyl99I8LyV+6DqBCFADJVBeegxupWLXslilz923k/LthySm1A7ZsY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=columbia.edu; spf=pass smtp.mailfrom=columbia.edu; dkim=pass (2048-bit key) header.d=columbia.edu header.i=@columbia.edu header.b=h/OnXk3F; arc=none smtp.client-ip=148.163.135.74 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=columbia.edu Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=columbia.edu Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=columbia.edu header.i=@columbia.edu header.b="h/OnXk3F" Received: from pps.filterd (m0167069.ppops.net [127.0.0.1]) by mx0a-00364e01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 676MbpVl3887045 for ; Thu, 6 Aug 2026 18:57:47 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=columbia.edu; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=pps01; bh=ZDta 8H4TbOGgmN72HYVLiwhdlqK4+Bj7qpHNP2qH6Ts=; b=h/OnXk3Fj89uY5PtrY85 IlCszdClJvEoiyta+unbROaUf1Kr787Tsroo1XCVWI9Hvhu5dTloNXw+NYUSYrju ZhLLkBKHAZBBi7mRYDDI4fkW4SgFJ6jLCSOU7qvI8lAu5wm85tBU/mLHFyNvjsKx 9eeq1u1WrcayOVQpPbQKiUFlC0BvScmHDaMBrTaLH4XxkIVPTRhzJlTg0MSDQTKF aqiyb79m90F24QvaeFH/h6ka26pl41nRk4ZoK6ZtRJx9NnPI+oe9OzVUKEtDi2ey 3w/ZQuwDpCTqNGm1vAtJ1k6TCCousF0OZJA4BTLD0ZvoxnMLvajfH3iRJTWMlBI0 7Q== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-00364e01.pphosted.com (PPS) with ESMTPS id 4fvy2xj192-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 06 Aug 2026 18:57:47 -0400 (EDT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-5174a23afcbso29826241cf.3 for ; Thu, 06 Aug 2026 15:57:47 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786057066; x=1786661866; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=ZDta8H4TbOGgmN72HYVLiwhdlqK4+Bj7qpHNP2qH6Ts=; b=O3iR0hiT+GMyA2AZ+f3faQc05V27jK9lSe2zvq3d5ORAPWIt1xq6MBfdn256+zb0zm HCQB4pVlvIAtGyvOiBH2H/jk2NqAbcW+euzx/oCf2Xx3k+LuXIwTcp26aF2qcihM8XyH rx8Puacg7UOKHvhTndAQeNmgWbZpVC33LwlU541tpyopmSAE7fdzZuLHDwoIkvVjYCli E2dr8v9b6sxRvvLKpgNtu6sryAiCe9fHH80lR/0U8FCjtdC7dNJHmeWC4Qhec2yoHsY5 EXqU6/WLPhp5bRvlscsugiUw9Z6a54jgteOzzvpVdRYmNd2EqGSkLZhZJaIRIpS4K25P p9bA== X-Forwarded-Encrypted: i=1; AHgh+RpA6B0QwGxykjhpZaW0iZ6hhdsJ4EIk/IShiDSVO9fow0YYkjqd2Ne4zJHgsDKsnkjSyTDiyMuJQFNr/QE=@vger.kernel.org X-Gm-Message-State: AOJu0YxXRECDBnEaJhlJhAOkd7eBCr2UY0odpqnlGFfiMMT5DuwBs6mR Hsi1QhnTGi3vfoz53ws3TUi+EzlLPF+6cTsTBxh0nX0pBKz7GTn1drzwHYhrNZ2+54uiHvkf9H3 0dQ4IQEmKaNRN6wS9L4lhrYnS9sQLP5tx12egFG55Mbf7t5qC0q5XvYLsai7+9w== X-Gm-Gg: AR+sD11fmsnTiz5DE888iujz9gg19iXqwSaQf1nNXaWrFYLTbYHzdPpA3tTjRgeGOBz L7stjsBw3Y1iQGqUPxYSZtdO5/QOWHM9kf4zF7p5MLyzRBSP+6MufFLQeczhG3W4Jm64kNEUxTF q0tatcK1vxQKbKhQELxotsTaDLMz4RYw+oMlabY7+D67NQDYz4W58lb6uknd4wXSjmW3CN8pdJr CgsRh4bO4hJRFNhLGaJtmKPLl8pYvYJ4LFVzvDwBowMTKFihYgc1gBm2TCawzhMJ46ZLH12jtx3 UQFNXGdi7z13mYuqDCvc4ZoVMSLPblG2VADEkqPU/EHsFzAfNoeo+F6kURUs0y5/gxpicHbYoGj vqc0DKQFUxPN8 X-Received: by 2002:a05:622a:181e:b0:51c:1e2f:1281 with SMTP id d75a77b69052e-52ce61b5415mr198604321cf.42.1786057066349; Thu, 06 Aug 2026 15:57:46 -0700 (PDT) X-Received: by 2002:a05:622a:181e:b0:51c:1e2f:1281 with SMTP id d75a77b69052e-52ce61b5415mr198603751cf.42.1786057065855; Thu, 06 Aug 2026 15:57:45 -0700 (PDT) Received: from [127.0.1.1] ([77.137.78.43]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47ff7b31975sm8751344f8f.33.2026.08.06.15.57.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Aug 2026 15:57:44 -0700 (PDT) From: Tal Zussman Date: Thu, 06 Aug 2026 18:55:36 -0400 Subject: [PATCH 4/6] mm/page_io: rename bio_associate_blkg_from_page() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260806-b4-page_io-folios-v1-4-0899bac3b826@columbia.edu> References: <20260806-b4-page_io-folios-v1-0-0899bac3b826@columbia.edu> In-Reply-To: <20260806-b4-page_io-folios-v1-0-0899bac3b826@columbia.edu> To: Andrew Morton , Chris Li , Kairui Song , Kemeng Shi , Nhat Pham , Baoquan He , Barry Song , Youngjun Park , David Hildenbrand , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Matthew Wilcox , Christoph Hellwig , Johannes Weiner , Yosry Ahmed , Chengming Zhou Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Tal Zussman X-Mailer: b4 0.14.3-dev-d7477 X-Developer-Signature: v=1; a=ed25519-sha256; t=1786057045; l=1577; i=tz2294@columbia.edu; s=20250528; h=from:subject:message-id; bh=3OPG7b3tK7Cq1uVgPCHfhGHZH2DVy12VkTYBlm1Q10Q=; b=uAJqj8fj4Pssj6xRZUaea+p00ZtkpOIYz1832PDFM8eZM0eZVI5/ukn6uTxSWKgj+B6DWJeI3 6SCnyv5iT+nAUdM/9+ieKtQ5uAJbriU1HnQGE9K51NKf+aWDBW6pcEm X-Developer-Key: i=tz2294@columbia.edu; a=ed25519; pk=BIj5KdACscEOyAC0oIkeZqLB3L94fzBnDccEooxeM5Y= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODA2MDE4MCBTYWx0ZWRfX+ouxn9Pg1e3c pNTOD8atd5AEPVbOPLFyvuCjaVAThLzf9hEdSN/0JNpUfrlbp1j5qh6IrTKNQemA0Yxa+17eVyn aBvmqdrJOWoge1trgVCIpXe4lwlaVJR4Z0EOgOpdTwlmamcGoVSWkm/iMeJtLhUbOFqgB/ANRta ZNxvSMUVTudYmek9cKcV/SxGLI5OHtDRLoHE8P7FigmBgCi0KwXRnTX+IMKYKmkxzvmiZWaG8Kz wf0lQco9tunb/Q9fR+7TOCFIRX6JRNrTIzKe1NQs1PhFOJ6y+FVyAKikxzSCwk2I101InyuQka+ STz1pG0RrvVm5Rf6PYvZw7Y29l/80iKwxxEyEVewNNFBW89uzWx+CUrVX2yN4+rRnQ2YZ+bfOHF S9k5LpOxziS/w9Y+9cFONv2JM05bnBoc3aMT9oxpfdNrasK2ZCn+TlxnWUZCDL7zUQJsm31PtKN 7jKPc/fyFz4BD2loC5w== X-Proofpoint-ORIG-GUID: LguOvFvXAUdpOF-3QKxXSWxH_1PMlQ0v X-Authority-Analysis: v=2.4 cv=bP8m5v+Z c=1 sm=1 tr=0 ts=6a75116b cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=z9N5oyD7lR4RENIpbqURcg==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=x7bEGLp0ZPQA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Da8U98TiO7q1upZEImrf:22 a=JR4YdQiviy7OQf72WyZ1:22 a=d-08HifAjaWcUkSzOnUA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-GUID: LguOvFvXAUdpOF-3QKxXSWxH_1PMlQ0v X-Proofpoint-Spam-Info: AW1haW4tMjYwODA2MDE4MCBTYWx0ZWRfX8Lix9OtnLhwd SMI2Gabm+cPAUCcSiPtSd6LNmxZ0AgIpUZ+DZBvv+eW9yxon4thWgV/0x+sCIywcp7EBT5m3obq nLPQWjmSBHkzieYZ5bbITdrj7jreKnG7h6BRGBmpthYrFka5xePy X-Proofpoint-Virus-Version: vendor=nai engine=6900 definitions=11867 signatures=596817 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 suspectscore=0 priorityscore=1501 clxscore=1015 adultscore=0 bulkscore=10 impostorscore=10 spamscore=0 lowpriorityscore=10 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608060180 This function takes a folio. Rename it to bio_associate_blkg_from_folio() accordingly. While at it, convert the macro in the !CONFIG_MEMCG || !CONFIG_BLK_CGROUP case to a function. Signed-off-by: Tal Zussman Acked-by: Johannes Weiner Reviewed-by: Matthew Wilcox (Oracle) --- mm/page_io.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/mm/page_io.c b/mm/page_io.c index c6d0949b3f1e..8573f7b8967a 100644 --- a/mm/page_io.c +++ b/mm/page_io.c @@ -276,7 +276,7 @@ static bool folio_blkg_can_merge(struct folio *folio, s= truct folio *prev_folio) return can_merge; } =20 -static void bio_associate_blkg_from_page(struct bio *bio, struct folio *fo= lio) +static void bio_associate_blkg_from_folio(struct bio *bio, struct folio *f= olio) { struct cgroup_subsys_state *css; =20 @@ -297,7 +297,9 @@ static bool folio_blkg_can_merge(struct folio *folio, s= truct folio *prev_folio) { return true; } -#define bio_associate_blkg_from_page(bio, folio) do { } while (0) +static void bio_associate_blkg_from_folio(struct bio *bio, struct folio *f= olio) +{ +} #endif /* CONFIG_MEMCG && CONFIG_BLK_CGROUP */ =20 struct swap_iocb { @@ -595,7 +597,7 @@ static void swap_bdev_submit_write(struct swap_io_ctx *= ctx) REQ_OP_WRITE | REQ_SWAP); bio->bi_iter.bi_size =3D sio->len; bio->bi_iter.bi_sector =3D swap_folio_sector(bio_first_folio_all(bio)); - bio_associate_blkg_from_page(bio, bio_first_folio_all(bio)); + bio_associate_blkg_from_folio(bio, bio_first_folio_all(bio)); =20 if (ctx->sis->flags & SWP_SYNCHRONOUS_IO) { submit_bio_wait(bio); --=20 2.39.5 From nobody Tue Sep 29 14:10:41 2026 Received: from mx0a-00364e01.pphosted.com (mx0a-00364e01.pphosted.com [148.163.135.74]) (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 7D99147F78E for ; Thu, 6 Aug 2026 22:57:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.135.74 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786057073; cv=none; b=ONULHvAG9sNsfDZWTMtVPvdFWn/633GACQ0Rpym90OlEyXeBZZboJJFSP5D3q1ynmZzkIrY1xfugWqn224nqIxB+zWfp7aCAMMtjnUAF+VzJfN3wUdLs8uKjQkhccwNjfLPET5rCElbRXS+3r/SeQ1BjF5iF+APKe1F/nPj+9JE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786057073; c=relaxed/simple; bh=UmV9sMHSKSNHxDzc3QqoRx/hDTjI9DTuBW2BUeenTn8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=mQWBRfMkdwALz/CM8FCdTBnSq5DlqmUQ2Ctv4JKaRbT9UQpJt+wJFhTSNbS28qfw2X+Gb324QbM1DiVAqj4qFxQs73rD8f3f6I+TonRXFuWGEvHJwzrpeD2JzCFwmdQzZe6XHDPs0mtMY5CUR9Y3dYEfayObs6TXnSqKpGV3Ne4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=columbia.edu; spf=pass smtp.mailfrom=columbia.edu; dkim=pass (2048-bit key) header.d=columbia.edu header.i=@columbia.edu header.b=mqnrJCP/; arc=none smtp.client-ip=148.163.135.74 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=columbia.edu Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=columbia.edu Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=columbia.edu header.i=@columbia.edu header.b="mqnrJCP/" Received: from pps.filterd (m0167072.ppops.net [127.0.0.1]) by mx0a-00364e01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 676MbrKW531086 for ; Thu, 6 Aug 2026 18:57:50 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=columbia.edu; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=pps01; bh=GfgB fz4SBjZG0Zjt1W7ARXOWQHcIrXbdvdbSZq+3q04=; b=mqnrJCP/PMhCuI+TyvWD RUMs1REYDCKt9Upy5SL4LGzL30+OtAUGI26+u+yE5ebVyetCWiHHhgqelk5wNMYc ALstKQp5hyDQFXxQXXHHlryvmEBh2MAB/1jyUV/6l5yZyeTCo+k0EXI5+cktE71/ C8AFm2CADj+aivT+8h+yZ3yOwa8BwZIwVd0Cgar6Bu1iQmdghjnaOPOdQX3Ij1U6 E7gCah6Cd2c4Qf/ynfx5wdgmfBoBwczQGQmAceSRnqTTwx0/vJiE908hCAJRqq1v DsZyOsBn2qXewDFNiv9L/aaqXV69BQ0vX0GCh/aNymtiZtmJhJF++AanAm6ajQ56 GQ== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-00364e01.pphosted.com (PPS) with ESMTPS id 4fvy2ya18y-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 06 Aug 2026 18:57:50 -0400 (EDT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-51c19493ac2so30538681cf.1 for ; Thu, 06 Aug 2026 15:57:50 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786057069; x=1786661869; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=GfgBfz4SBjZG0Zjt1W7ARXOWQHcIrXbdvdbSZq+3q04=; b=XYBmnL4Fv4NUPJuMdVpRiK2Gg8QrMTQH6APM1elQ8Y3Fl8ROmOyxlh0reOlT6eyzg4 bz0hnealYPojWmv/BSBszr2s72KXGX+QZbSLei46kMDaBf3Sut9LbQKoo8+lYTCbR541 pFi1JCYd1GxYY4NRhQsR7drQjGOW79A2OyqBc3rPC3eMFWdR7uDa1k7hJsznNy+onDqH coSwfkVEpyW89vA5+kDojX1y5UylSJtAOIoAGDwZZx7QGAb5fYgBH4TcUp6JNlsVYbci Z28KQRXObfnJgxCKsLqGkLuXN+9zEMW0Q+5/LNN+rhBU+e1xB8CQVJaPxpDofnc8NFoh iu3A== X-Forwarded-Encrypted: i=1; AHgh+Ro7XwdkY91hgANM3dpl8TMTh83ixxc1XozgpgYjTa0sZ8huZqg/HUKKnepdrGXRXsuUtbLhlyXqzN1/HtE=@vger.kernel.org X-Gm-Message-State: AOJu0Yw6qUEoeV2A3V9igkgtQdb6ZkTkipzixKuEp5PKNTEAtduNuPVe ox84oM0gVjwxiuJvqZBDWyp0M21x2LmCeuVfz6pnXVTrTLX9+CRFpIHxB8xuq1zmff6wyiOdvth 37JMRz5FwFeOMzLgcHhE5O27u2hqXLLDi54NlWTxd0nfTmMS5GKR1RbznlmWUdg== X-Gm-Gg: AR+sD11Qnh0uC/x8DhhxDqtlmUKvxhTLN04eJmDwHu7/uo6dXTd4LVocwWKpYTRwiSg Jp1+tTtBws/fTr/SRBYWNm1092aUs64sOl4LY3jEAe61bpOOIUB4JsGCo51dq28igYSoyQFT/+X JNz6WJOguVB9nCbv68r0FJGP1uSPBi5A79N3QRRzpquHgRr2a0TIECqHtaeOE0j+Uy/dcyhQNYc OLoQWk/xQzHyeThstS0pT7upqxcFZCbpuVjcpNyN1KWIDKXUBAoTAOpIypbRlty3mJZZM+4/wFT psP8zTcuacacY3BL6WEFobjDi1L2DYcSzxWGTyqR6JID4FQSOZ9KJq5eXuS8XArYTd7J/P91B3a 38/nqrVlMaOzH X-Received: by 2002:ac8:5fc1:0:b0:517:8711:d46c with SMTP id d75a77b69052e-52ce61b5e59mr187985851cf.31.1786057069498; Thu, 06 Aug 2026 15:57:49 -0700 (PDT) X-Received: by 2002:ac8:5fc1:0:b0:517:8711:d46c with SMTP id d75a77b69052e-52ce61b5e59mr187985471cf.31.1786057068971; Thu, 06 Aug 2026 15:57:48 -0700 (PDT) Received: from [127.0.1.1] ([77.137.78.43]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47ff7b31975sm8751344f8f.33.2026.08.06.15.57.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Aug 2026 15:57:48 -0700 (PDT) From: Tal Zussman Date: Thu, 06 Aug 2026 18:55:37 -0400 Subject: [PATCH 5/6] mm/page_io: refer to folios in swap_writeout() comments Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260806-b4-page_io-folios-v1-5-0899bac3b826@columbia.edu> References: <20260806-b4-page_io-folios-v1-0-0899bac3b826@columbia.edu> In-Reply-To: <20260806-b4-page_io-folios-v1-0-0899bac3b826@columbia.edu> To: Andrew Morton , Chris Li , Kairui Song , Kemeng Shi , Nhat Pham , Baoquan He , Barry Song , Youngjun Park , David Hildenbrand , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Matthew Wilcox , Christoph Hellwig , Johannes Weiner , Yosry Ahmed , Chengming Zhou Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Tal Zussman X-Mailer: b4 0.14.3-dev-d7477 X-Developer-Signature: v=1; a=ed25519-sha256; t=1786057045; l=1088; i=tz2294@columbia.edu; s=20250528; h=from:subject:message-id; bh=UmV9sMHSKSNHxDzc3QqoRx/hDTjI9DTuBW2BUeenTn8=; b=gpZYsMmoeYR9uHKPTPWoQ8pj5KB+DanJriXzKT999YnRyMFOq7BXjTKfM5c61ITiwsRWojVnV ddRIotN/naJC6JF5Rp9bD1C0xzz5nXlMgaTdu2sPpHcd7NxD2FC7qEL X-Developer-Key: i=tz2294@columbia.edu; a=ed25519; pk=BIj5KdACscEOyAC0oIkeZqLB3L94fzBnDccEooxeM5Y= X-Authority-Analysis: v=2.4 cv=VfHH+lp9 c=1 sm=1 tr=0 ts=6a75116e cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=z9N5oyD7lR4RENIpbqURcg==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=x7bEGLp0ZPQA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Da8U98TiO7q1upZEImrf:22 a=SsB-OO3BMngHh3ZO9fOt:22 a=o9dMDrf0hGvVio-mgDUA:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-ORIG-GUID: _cmLB9gWvUIztHZKjFmgjTnu9t4kRpgn X-Proofpoint-Spam-Info: AW1haW4tMjYwODA2MDE4MCBTYWx0ZWRfXycAeTVtu5Kbb RdEhkcqAlJDMnlQCXb5HczR3wIiOEF7J5kE0j02CLJ6Q7UFZpa9U3ATi/GuNT5a+QlYnzcauUmb 847+q/KdDFGjY501VKFCXI/hv0N3YeT0tu1Xa12zAJJEDWHEdhDD X-Proofpoint-GUID: _cmLB9gWvUIztHZKjFmgjTnu9t4kRpgn X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODA2MDE4MCBTYWx0ZWRfX2cQUaR0TLL0p DLHFqE4XG/V7T8QBrdXoNvJSDgS+wtH0uvvZIjJuKms0x6mNZJZjvmr8g4SafJ8JfeQNh6mH71p cbWsVPLbmOIZpC+MHV/iGrXsiKJeJvmO/jFrX+u2yxeitlEh+LEiUjRH08R4mxZCjccUi5ohTgh xlYZYUgQrxjX2SSf6x+jeQMDlESafwG0e2eYMiqxskxu8Fss7fk0S1g9tYegXMrQ9NqR1NN0fXG 8olAYzCu073WKbgLfcVbzHiVdzsLu6OeC68R6IToSCbfd/XTr3OPQCyvregERyb6Z0PM9gImFcX X7fhyFiOksepwgVTjCsU0nAKc4mH4RSkOXdGnmykTdGe739/6H73vj0OpPZXwRo/0GvYQsGHgj1 ILoSNpDj6/2eTrzVP/zAzcChPj2JBnAUy1f9TmBL6XE9vC8PpNS8fUB8Vo1SLAT+GtunDCBmW5K Gk5F+oXKBxbLCcokaTw== X-Proofpoint-Virus-Version: vendor=nai engine=6900 definitions=11867 signatures=596817 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 clxscore=1015 spamscore=0 malwarescore=0 phishscore=0 impostorscore=10 bulkscore=10 suspectscore=0 adultscore=0 lowpriorityscore=10 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608060180 swap_writeout() operates on folios, not pages. Update its comments accordingly. Signed-off-by: Tal Zussman Acked-by: Johannes Weiner Reviewed-by: Matthew Wilcox (Oracle) --- mm/page_io.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mm/page_io.c b/mm/page_io.c index 8573f7b8967a..b18d3b7d853c 100644 --- a/mm/page_io.c +++ b/mm/page_io.c @@ -208,7 +208,7 @@ int swap_writeout(struct swap_io_ctx *ctx, struct folio= *folio) goto out_unlock; =20 /* - * Arch code may have to preserve more data than just the page + * Arch code may have to preserve more data than just the folio * contents, e.g. memory tags. */ ret =3D arch_prepare_to_swap(folio); @@ -219,7 +219,7 @@ int swap_writeout(struct swap_io_ctx *ctx, struct folio= *folio) =20 /* * Use the swap table zero mark to avoid doing IO for zero-filled - * pages. The zero mark is protected by the cluster lock, which is + * folios. The zero mark is protected by the cluster lock, which is * acquired internally by swap_zeromap_folio_set/clear. */ if (is_folio_zero_filled(folio)) { --=20 2.39.5 From nobody Tue Sep 29 14:10:41 2026 Received: from mx0b-00364e01.pphosted.com (mx0b-00364e01.pphosted.com [148.163.139.74]) (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 4A3F5353A64 for ; Thu, 6 Aug 2026 22:57:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.139.74 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786057076; cv=none; b=unW4iDhQP3xNQLR6vr6NlQ1bhLerXjGqipFV+n7Lau24dqb5pRVyctUGfntA9cm6Rj6FK6xmiRYKKo9MMkXhULq4EYNhhogAPefeZ0jXzhdcxQv2Vpin+/+sFvveTwNDUT31yuYXH6V8QM1JVE3s5p3fXry+jBRhLTo4lAeczzo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786057076; c=relaxed/simple; bh=1PKHkxhG8FirRaVg6eUhQjfX/h67l5IV5n+FiE4fMq0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=KvF3yJVMuxmhRQQUj1cBrNRkZHRuw7kOWhrNiRVrnd9v3ReQrNwlgxMnU3iPVdlFtu0dnCSV8ijBeFcTg5jPeRldShtcOn9/zYQALix6T0rme9AAQYOkwDCqKmGCWYR9H2E8YtD2qBABSra+VsCD3f/XolMCXub8c3i/a7vgl0w= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=columbia.edu; spf=pass smtp.mailfrom=columbia.edu; dkim=pass (2048-bit key) header.d=columbia.edu header.i=@columbia.edu header.b=kJuBUJua; arc=none smtp.client-ip=148.163.139.74 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=columbia.edu Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=columbia.edu Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=columbia.edu header.i=@columbia.edu header.b="kJuBUJua" Received: from pps.filterd (m0167077.ppops.net [127.0.0.1]) by mx0b-00364e01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 676MbLk1681458 for ; Thu, 6 Aug 2026 18:57:54 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=columbia.edu; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=pps01; bh=ub1K Ub7if+gs21AzBt8YVgkd+mkgYy/e+EEwrtHe3aY=; b=kJuBUJuaanVVM3eOoLsN 7CXYROSaT7KdmrBrDS4ssUDSc01Gxl8TYbFbAEmyr1CMuTZX/71rSOewTMKkUUlz rOFrZyzk0d+mKzvY/DC7c3KOVdnnCcNn9lncZl+KDVoFKmqVyC2khFLw7ktVPj5F zZbu/GpUmSeEFVPDTRUelESRechdQLisuvQp+1YRluhXfXw2AO/M8B+YNNw8KFVk fv+OLgqDLfswT9fJnPy9g2aEHY0H3aviduheVmoSbNJHP4ocGi1GAZ4i0UFgwVCJ fBJTl9Q3x641x/4Gr7kE8oU3eGQMFBNCM72sz1apvWlaDymhl2Yt8n/YibrG/aE6 Hg== Received: from mail-qv1-f70.google.com (mail-qv1-f70.google.com [209.85.219.70]) by mx0b-00364e01.pphosted.com (PPS) with ESMTPS id 4fvykvstsp-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 06 Aug 2026 18:57:53 -0400 (EDT) Received: by mail-qv1-f70.google.com with SMTP id 6a1803df08f44-9080b7b2f2bso28273176d6.3 for ; Thu, 06 Aug 2026 15:57:53 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786057073; x=1786661873; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=ub1KUb7if+gs21AzBt8YVgkd+mkgYy/e+EEwrtHe3aY=; b=a+R3d6FmxPzDzGn0g26kNWVyixUTBzP1yPyqcseH/rc3j6wEX+GjP6CjZuc51vs2bA 0KJWDHIQj293dh6DrpATFIOmfAk1jj9NS1+APZzLSaCdsy3gbOE8EH0q2NJc4WBqN9fU Pb9sZeMpmpH97/TLUtmqGvza+4ZbjL4WHdu7zjM6Jknl7p+V6P3Qy3UGYz2MOAwrQ6P+ TZHj5Tf8YOSqJ4HVqMP9/eoGyCpfMEv0SnHMCJ4jvzSTooBk1yyDRfG/tcmT4p4S0HOM 7zgXRWAWCMrlBCGjJnTvL0NShsAQgKAL6IKSnLwiwYbwfmyEg1vsqpiYseiS43NZmqV+ ow9g== X-Forwarded-Encrypted: i=1; AHgh+RrAHi9EKyuR1uKK+iQt0+qmv2ovS8NPtKXMn0p7MWEIi6jhrCK0at2eBM6JcUBYAVsLfGQx5H5JceU41Mc=@vger.kernel.org X-Gm-Message-State: AOJu0Yw1bvm2yM+gz434E2Y+hi0F7/Qu8uttz/TE7r7TLPFWwzy+BQCf G9BO54loTgVax2Qt8kcVwK2AULJ++Lcysb7mTM5tcsUY3pnPgVpq7l53rj2qhaRh2ADjV8PfDRz RM1poGDHQW5rDenWep/Nu9guzTuphuCkVDXmsaq+x43DcqIw3fAU5eRupW+HaCA== X-Gm-Gg: AR+sD125DM4XcRs/yCsapm1NAgDV6Yus14F8rs/QWVf+5LRBxxgo7L9v2DbLfWDuN92 wy9ZNhoKS0v1CoHn849lcfNr3V7iyWsjPva2QdN/od8GOL+crzZATu/fLku1zqnq2Eh0vjqzy1k y7FjMHFt/CQbfeX5UBXY1iNX0pQdj2LKQKj7wlueCfVcrBzEr52F1wArLe5QGP/v5QyEi92bRWE 2IWJQILX7/P8+Vuu892x0IDAk8lw1ZKMIePCERxrOsP1fOxmoxBnBiwnuY0pSTpt/GWL3y8HKDA crSjm9AjJMK99bw8lkn7Zih8un+4oHseuDCYjx0uBJSruqiNWSU06q6RDj8q/n9T4bW8/AFsaDe Pz9fFco73yaiZ X-Received: by 2002:a05:622a:986:b0:517:9f43:4732 with SMTP id d75a77b69052e-52ce5fbd06fmr209298751cf.11.1786057073237; Thu, 06 Aug 2026 15:57:53 -0700 (PDT) X-Received: by 2002:a05:622a:986:b0:517:9f43:4732 with SMTP id d75a77b69052e-52ce5fbd06fmr209298381cf.11.1786057072817; Thu, 06 Aug 2026 15:57:52 -0700 (PDT) Received: from [127.0.1.1] ([77.137.78.43]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47ff7b31975sm8751344f8f.33.2026.08.06.15.57.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Aug 2026 15:57:51 -0700 (PDT) From: Tal Zussman Date: Thu, 06 Aug 2026 18:55:38 -0400 Subject: [PATCH 6/6] mm/swap: rename __swap_writepage() to __swap_writeout() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260806-b4-page_io-folios-v1-6-0899bac3b826@columbia.edu> References: <20260806-b4-page_io-folios-v1-0-0899bac3b826@columbia.edu> In-Reply-To: <20260806-b4-page_io-folios-v1-0-0899bac3b826@columbia.edu> To: Andrew Morton , Chris Li , Kairui Song , Kemeng Shi , Nhat Pham , Baoquan He , Barry Song , Youngjun Park , David Hildenbrand , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Matthew Wilcox , Christoph Hellwig , Johannes Weiner , Yosry Ahmed , Chengming Zhou Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Tal Zussman X-Mailer: b4 0.14.3-dev-d7477 X-Developer-Signature: v=1; a=ed25519-sha256; t=1786057045; l=2748; i=tz2294@columbia.edu; s=20250528; h=from:subject:message-id; bh=1PKHkxhG8FirRaVg6eUhQjfX/h67l5IV5n+FiE4fMq0=; b=LaYIsHVWpwYb/E4liQkXl3uoxIqT77+VYU165HQMf12mm+fVAmPoL3b8oeU5kB/oIpD1BCKBX YNoKJAENtWGD9KC3ZXIJB+fPHZ+aWZrSczLZIN3orHoap6KhJHbtJun X-Developer-Key: i=tz2294@columbia.edu; a=ed25519; pk=BIj5KdACscEOyAC0oIkeZqLB3L94fzBnDccEooxeM5Y= X-Authority-Analysis: v=2.4 cv=Bt+tB4X5 c=1 sm=1 tr=0 ts=6a751171 cx=c_pps a=oc9J++0uMp73DTRD5QyR2A==:117 a=z9N5oyD7lR4RENIpbqURcg==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=x7bEGLp0ZPQA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Da8U98TiO7q1upZEImrf:22 a=QOCMdifcju39GKoXhKua:22 a=v-ZhwRCNMDFCt6n8jOEA:9 a=QEXdDO2ut3YA:10 a=iYH6xdkBrDN1Jqds4HTS:22 X-Proofpoint-GUID: IkD_RzWTeQT_73QYnxb1ALTtTesyTi-9 X-Proofpoint-ORIG-GUID: IkD_RzWTeQT_73QYnxb1ALTtTesyTi-9 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODA2MDE4MCBTYWx0ZWRfX1b7plpMt6f3K l97hEGxm0vv4pZ6gXTPI0DBeyfUWZmemVbk8fNLSrG72J2lr87gXiqWVz2c/syujWgaNFrmubd/ ph2y5wAG1zlyT9iWCh9BF+clhTVZosnXGZmZEoynfFjuTRfzrNqwnvYvT94uf9FwMBfcCwwQwNC AMSdaVOWWScfDXSvzCG1/YC+QZHSFwXolkHghAJYwxPuJ+M9Mvg5GqBSnCeW6KVJDrvgITU96XU BrqzDP3dlnVvtFveAl002EJDl69gj6ggOOywlODHACQGD828xpEIYm/gjMdFi45cbGN+iqa3gt5 mNlqqNoFknz8rka9EuIDwSHx9Cc7VwhGUNp6Tcm1nlfqffwMCISrQCmATYfPTKgf4llAGioYEIW nzYipSl/wRvaQZS6y1smIyQt5LRnpGNXzqa5mkO3SU6sTNJ5njd8r7QMkjzsNlPg3Q/22/x7eq2 73unTkl1ualopC/kj0Q== X-Proofpoint-Spam-Info: AW1haW4tMjYwODA2MDE4MCBTYWx0ZWRfX5bAEFMVil5lm YSDquAaH2Bbl45yqcI8SDWlKylkrQeCIa/GO2vOKR90Cct6eMb2xS5WHfDC2jT8a3eVvMcOFEun YLa+fQi8sbd5U1sTMDG6AJA0w+9h/q6VxboyFk2wldFJGpR7guWT X-Proofpoint-Virus-Version: vendor=nai engine=6900 definitions=11867 signatures=596817 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 bulkscore=10 phishscore=0 impostorscore=10 adultscore=0 malwarescore=0 priorityscore=1501 lowpriorityscore=10 spamscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608060180 Commit 84798514db50 ("mm: Remove swap_writepage() and shmem_writepage()") renamed swap_writepage() to swap_writeout(). Rename __swap_writepage(), which operates on a folio, to match its caller. Update a stale reference to swap_writepage() in swapfile.c as well. Signed-off-by: Tal Zussman Reviewed-by: Matthew Wilcox (Oracle) --- mm/page_io.c | 4 ++-- mm/swap.h | 2 +- mm/swapfile.c | 2 +- mm/zswap.c | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/mm/page_io.c b/mm/page_io.c index b18d3b7d853c..e2a269425ac5 100644 --- a/mm/page_io.c +++ b/mm/page_io.c @@ -247,7 +247,7 @@ int swap_writeout(struct swap_io_ctx *ctx, struct folio= *folio) } rcu_read_unlock(); =20 - __swap_writepage(ctx, folio); + __swap_writeout(ctx, folio); return 0; out_unlock: folio_unlock(folio); @@ -368,7 +368,7 @@ static void swap_add_folio(struct swap_io_ctx *ctx, str= uct folio *folio, int rw) } } =20 -void __swap_writepage(struct swap_io_ctx *ctx, struct folio *folio) +void __swap_writeout(struct swap_io_ctx *ctx, struct folio *folio) { VM_BUG_ON_FOLIO(!folio_test_swapcache(folio), folio); =20 diff --git a/mm/swap.h b/mm/swap.h index ec580c713204..c3ff9132de5e 100644 --- a/mm/swap.h +++ b/mm/swap.h @@ -279,7 +279,7 @@ void swap_read_folio(struct swap_io_ctx *ctx, struct fo= lio *folio); void swap_read_submit(struct swap_io_ctx *ctx); void swap_write_submit(struct swap_io_ctx *ctx); int swap_writeout(struct swap_io_ctx *ctx, struct folio *folio); -void __swap_writepage(struct swap_io_ctx *ctx, struct folio *folio); +void __swap_writeout(struct swap_io_ctx *ctx, struct folio *folio); =20 /* linux/mm/swap_state.c */ extern struct address_space swap_space __read_mostly; diff --git a/mm/swapfile.c b/mm/swapfile.c index dea2d3b36e06..2ff6de0a8c36 100644 --- a/mm/swapfile.c +++ b/mm/swapfile.c @@ -2982,7 +2982,7 @@ EXPORT_SYMBOL_GPL(add_swap_extent); /* * A `swap extent' is a simple thing which maps a contiguous range of pages * onto a contiguous range of disk blocks. A rbtree of swap extents is - * built at swapon time and is then used at swap_writepage/swap_read_folio + * built at swapon time and is then used at swap_writeout/swap_read_folio * time for locating where on disk a page belongs. * * If the swapfile is an S_ISBLK block device, a single extent is installe= d. diff --git a/mm/zswap.c b/mm/zswap.c index f7c9c89f6449..38cb6a8318a5 100644 --- a/mm/zswap.c +++ b/mm/zswap.c @@ -1050,7 +1050,7 @@ static int zswap_writeback_entry(struct zswap_entry *= entry, folio_set_reclaim(folio); =20 /* start writeback */ - __swap_writepage(&ctx, folio); + __swap_writeout(&ctx, folio); swap_write_submit(&ctx); =20 out: --=20 2.39.5