From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id B5870C7115D for ; Sun, 22 Jun 2025 18:49:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 398356B00A1; Sun, 22 Jun 2025 14:49:27 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 36F7F6B00A3; Sun, 22 Jun 2025 14:49:27 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 25DB86B00A4; Sun, 22 Jun 2025 14:49:27 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 163FC6B00A1 for ; Sun, 22 Jun 2025 14:49:27 -0400 (EDT) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id B35481D796F for ; Sun, 22 Jun 2025 18:49:26 +0000 (UTC) X-FDA: 83583924732.12.630E94F Received: from mail-lj1-f182.google.com (mail-lj1-f182.google.com [209.85.208.182]) by imf25.hostedemail.com (Postfix) with ESMTP id D06FAA0003 for ; Sun, 22 Jun 2025 18:49:24 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=I+Y2UPGc; spf=pass (imf25.hostedemail.com: domain of ryncsn@gmail.com designates 209.85.208.182 as permitted sender) smtp.mailfrom=ryncsn@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1750618164; a=rsa-sha256; cv=none; b=azSSDFsumvr9v6yqCJR3vvPQ3GAodZQmAQClQCUgzOqCQ7DSXNVv8NYaw0Mh86C1dq0JbV u5fW34GNDmTLN4hCFTIGLe/yQfLE2bK13GvY37cfkgHlN/YwvCk5RqX2DxA9HOrscd5q7u nwcyAPoNnNcF0uLUuRHGHzfgobBDL1k= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=I+Y2UPGc; spf=pass (imf25.hostedemail.com: domain of ryncsn@gmail.com designates 209.85.208.182 as permitted sender) smtp.mailfrom=ryncsn@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1750618164; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=bnNyTcaporlHwCgllu2txLFibELgDG3yNgRM2ngHJ00=; b=nW1tPrjoXl9FARE9ybybM+o45TVrtZ5n07UWm/SOFndOBgz8nqxMpOsNbfIvcYTiEHN4Y+ T8kYXokz+LIYjBz4DrmnZaqWuRMl5OOXn8SuoQgcMXYr3YOiNym03P+RsV3Wnm1BQx0/7W LoclYauks5MfuTRIoqaPYloitzbDZEU= Received: by mail-lj1-f182.google.com with SMTP id 38308e7fff4ca-32b7123edb9so33316141fa.2 for ; Sun, 22 Jun 2025 11:49:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750618163; x=1751222963; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=bnNyTcaporlHwCgllu2txLFibELgDG3yNgRM2ngHJ00=; b=I+Y2UPGcACW/IKhaL2XQIWnuk9kjd+kYOQADcDhKSeVEgmDO2OTorpIPiQeKow87ze DRfhXr63P48/Rhrma+htWRaGaJcWVWFsVBEsPB0rdftDdFOMztHR3WhPWKeDAHMUsmX0 Ga/ZRoFquViGb+AQjh0ff6/DxG8FZucchKREthvNULuEsDpSnQRa23InAO+XTFiACiin H2d3pd7ULqqUOQIVSCFVqOmiBVcOeNU4kC1BLW7o5h2qahDF3KIou/xKukX1HgSC3OWJ fBSaQLkS9TPge9cFIgvTx6gM4FpC84hFexJ5Eo/AuGHU4BIz0ODUpddYubacnt6tWZkL Vcug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750618163; x=1751222963; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=bnNyTcaporlHwCgllu2txLFibELgDG3yNgRM2ngHJ00=; b=mf82S195fqK8pqnbHTbWoOTJy1An05r2v60qaF+RWjcCvyYX57bC4ue2Dkykj4wGJP bk62TemQ1khuCi3EcEpxzGIoIWoaE5JfLxyCk750oTE4dDSBWcW9KroSl9XpWxiCQ54X NzpefV26gvo1ZIigPFIQA2URpuUqoqrBFDO4/YCxlnAiNbUeU+cYn9b1IaoA7J8DTkdL 8g4zR6o7+P6Iadpod6ClZkfo60T0sgD6K+aNDdlPMOivEBULa+eDvpwAbabXPGHefUJc Naq7SNf4Z+k9gR8mtAJc0wT51q0i8+0szzEemDUP3Rw7mJ/qYk4Pu0ipoC/+s86WdRqB /zOA== X-Gm-Message-State: AOJu0YwCIu1JYrVqpAYVK9Plvx1y7/3JRdziRxkK8KgqNI1iOzFCK3Nv NWRSlXckQdz2SfjbM2rE0dtDT2vD5Rc2v/+1ujEw5YzHjizoavASJRn+221P/3rKlAXjlV60cfX qqaLY46EmwALeboWKTrm252s1rWvgHSE= X-Gm-Gg: ASbGncvdEeJJ2IAOVo+ZXnl6JbDZDh+eW2e2/PbVBNEGDZ/5fAIgYBDyK1m749o49OS IKyQLA9DpLG8ozvLo5yb0vLHg3OzFO/467iqpOZH4RYKzdsSc2gR/+vpcmAJpWIcWhaX2bZIIUe HpU6qlI0Mld4D+KfkJlIax/WCMBZFKcp+2iwJmCRGEWaQ= X-Google-Smtp-Source: AGHT+IExQxg0yirHqqchbs9CN5McpQ2sqVSeWzlrTqlX76mIZmn2AORHzJmh5Wn4P154ufsgd1QONEzCoMl700Q4H8w= X-Received: by 2002:a2e:be03:0:b0:32a:710f:5a0 with SMTP id 38308e7fff4ca-32b98e806d6mr31121821fa.11.1750618162664; Sun, 22 Jun 2025 11:49:22 -0700 (PDT) MIME-Version: 1.0 References: <20250619175538.15799-1-ryncsn@gmail.com> <20250619175538.15799-4-ryncsn@gmail.com> In-Reply-To: From: Kairui Song Date: Mon, 23 Jun 2025 02:48:45 +0800 X-Gm-Features: AX0GCFseCWH126ZQTjGHJnxO_W4W6wYKrx4XLRGW68Izh0-zdTnQKmgU-hVfYvQ Message-ID: Subject: Re: [PATCH v2 3/4] mm/shmem, swap: improve mthp swapin process To: YoungJun Park Cc: linux-mm@kvack.org, Andrew Morton , Hugh Dickins , Baolin Wang , Matthew Wilcox , Kemeng Shi , Chris Li , Nhat Pham , Baoquan He , Barry Song , linux-kernel@vger.kernel.org, gunho.lee@lge.com, taejoon.song@lge.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: D06FAA0003 X-Stat-Signature: 6isygfnr5y9kdifkxsc33cddnea55ekp X-Rspam-User: X-HE-Tag: 1750618164-642035 X-HE-Meta: U2FsdGVkX1+hdyQKuadPWdBC5SBbpbhrDr2KQlRlvqRJyJRQC8smYEy9EwyV61LLmc8XtliORBkzGoM0tZmqqXx9wR6AuVr+T8v6RmcuE92SDE0oO7J9jGns7Ky5t65rmU4QxJFVR+K8zT3dO3IJh0d3bAbvKWLP2pgc7dB81aX6nuSnmpf+2RUh92NXlZrnyOcbP+eeOa40cpBGYT3cP9zT6ItNX+u1S0HGag0c2LOSzBu/OpSJb2HvzXj0PTy/TsKjLarokkThxN/oTC52uSKNJeZWUCiazXBsvVHCXggEMiUCAiQGHxz7t5ZBsaWwV+eQSxttlS6moLr83yJujUfLU8pJRPG2fsN/f4My9isSLwduqonWYp02TSslwQkGod2hg395gAfztPQ7XvJAQlinjVo6ZA9jRV8oMTQW/D26cCdMcHdNpECriVPYqF9iSPMWq6Gxl7SnKea6+ujkrLyBf89EIIFlhmfF2AnuH8fIWkfnEKdc8ow4thfz99hB96KhBYPwK0YW6dBZtb9119Tq3D3j64E1xkc9TY1XsdbMsDTWF7BD12c4HOpjjuLJhWda9o0P3dQnS4h/yoOuuhAoXFrH+BCzrA5/ubrF5obqKFT+bAGa7+J+NHuq8xZRFy9Xds/xCSZAXTlvpEKZw+vMm4Gmf2x5WDZXsI6LEzFccJTre/dPwsld59sW5o9eUfIgYWhATknJ4kDjKZZozeXrSUM3DgzsRuPy4GQYPMzdbJdLcBwLbaJobvYIgkls/bYyuOAo7w9AjVO5YphX6AWtLKFbYR19itViW9OqT3w+dwbaBnPICjl70DWGf3i8nbU3UCAHnXVsp45ovjuqz/WYfdqAd92z9MCzvX3uDihb44AaKyP6DlMAL6aqo2Vt8KyjA3VJYHGbOwEPifwrkv/ifrlcOwmgCth6Nm9VNiQ+vouAXtUiKsbw0vG9XJGu24rwkuSxyrEsELU1xaK soCR1VkK JeKJTRSgFFl7jl8xaeh5aatG9hxXbK65RoeXB7GI2qOQH9v5scBsn09oeXGeSgwM/4HCi2GlcTFd9Ylz8Q4kUMk2SIClIh6Y41ps6lmXAyH0qcxJ3RaNuF7Pc6/MFs1cd4yiLiwx1q8EhtN8nyu4mLuZXx9hJnJ4kcKi8VRNzRMj5h9RSHBDFxkMvB4z0a/y1zR6uAOkIh7a1f+MGAE9uup83UJq76wSepyGFM9y4Nt6HFYFxg54L0ypgqocFaFqjdGpmR/8UjpaXkCaYyxAt8q9Vm2f5BdzxAcnZLA5M/j+FGLbvOuKwlPK9J9fn28fZknYnlk0iMBuFhAdLAduV2MMSPA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Fri, Jun 20, 2025 at 3:53=E2=80=AFPM YoungJun Park wrote: > On Fri, Jun 20, 2025 at 01:55:37AM +0800, Kairui Song wrote: > > + if (skip_swapcache) { > > + swapcache_clear(si, folio->swap, folio_nr_pages(folio)); > > + folio->swap.val =3D 0; > > } > > + if (folio) > > + folio_put(folio); > > put_swap_device(si); > > I really appreciate the patch. great work! Hi YoungJun, Thanks for the suggestions. > > It's a rather trivial point, but I was wondering if the following change > might make sense: > ... > if (skip_swapcache) > swapcache_clear(si, folio->swap, folio_nr_pages(folio)); > > put_swap_device(si); > > if (folio) > folio_put(folio); > > return error; > ... > > My intention here is to minimize the reference to si, The si reference is only used to prevent swapoff from releasing the underlying swap data structures, which is trivial as the overhead is tiny, and releasing the folio first might help reduce memory pressure (even more trivial though). > and from what I understand, this folio has already been allocated and wou= ld > soon disappear. Is it possible to to reduce the clear operation? > (folio->swap.val =3D 0) Right, that might be not needed, but leaving a dangling swap entry in the folio->private seems not a very good practice to me, so while at, I added this clearing (folio->private is always cleared for anon swapin that bypass swap cache). The chance of a failed "skip_swapcache" swapin is quite low here, so I think it should be OK. > Just a small suggestion. > Thank you again for your work! Thanks for the review! > Regards, > Youngjun Park >