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 173EBC83038 for ; Wed, 2 Jul 2025 19:22:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 72F236B00A7; Wed, 2 Jul 2025 15:22:49 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6DFC26B00A8; Wed, 2 Jul 2025 15:22:49 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5F6646B00A9; Wed, 2 Jul 2025 15:22:49 -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 4AF186B00A7 for ; Wed, 2 Jul 2025 15:22:49 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id A9A3080408 for ; Wed, 2 Jul 2025 19:22:48 +0000 (UTC) X-FDA: 83620296816.16.0837796 Received: from mail-pl1-f172.google.com (mail-pl1-f172.google.com [209.85.214.172]) by imf16.hostedemail.com (Postfix) with ESMTP id C652C180004 for ; Wed, 2 Jul 2025 19:22:46 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=iC2WYlGV; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf16.hostedemail.com: domain of yuanchu@google.com designates 209.85.214.172 as permitted sender) smtp.mailfrom=yuanchu@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1751484166; a=rsa-sha256; cv=none; b=0JI2Z6OKDRyFtyL/dj1M9bobwX4ClxoIl1QH+Zhd4pMIkqlcHyU9QowGiSYEw9+J9GsrDh Af8sIaLkKjawb9o7lBzkFuMm0Nho9rKBn8Q3e/P5dicpVFcSHmEnjhngWmfFBZd6m7ug1s z5LG04du5csELIWzPsD8rOVbWCW+4W8= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=iC2WYlGV; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf16.hostedemail.com: domain of yuanchu@google.com designates 209.85.214.172 as permitted sender) smtp.mailfrom=yuanchu@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1751484166; 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=HZJTmy8iMO10Pr+vq8YahlcUAGD8UjSWaZ2SUQyXxWE=; b=34HUglsvQXCgWa/gjpeU0t1OjYiw6epsoW4GIWqJCe+pcbKGwQeBbKU4o7G8SQvWXblu3/ ne75xiSfDucHcvaHxbabWRv59WhSlxhaADhBVWccZmyKSh1SpyKpFXQQtiFEe+Hxw0D8EZ 943wPlGEovdH6OinOuKLzoF8jC/gg1I= Received: by mail-pl1-f172.google.com with SMTP id d9443c01a7336-2357c61cda7so1135ad.1 for ; Wed, 02 Jul 2025 12:22:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1751484165; x=1752088965; 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=HZJTmy8iMO10Pr+vq8YahlcUAGD8UjSWaZ2SUQyXxWE=; b=iC2WYlGVR6/m+I9WZDkDy4+9OO5QlFCcC1fqfFP/FA2zXNtwzt4jinMLiWwb2tsup0 cs82fXAk8a/bgQ8LFpHnI9HCWTav7RO3kbTCTs/jVrNgPZAhoQ88uYF5PwjWlu2kVT6W aa+7/0qqqdg75sqY5EJEr84bBGdBR8iC2D03EYX5jEAvIBbroBbaSA0Mdj7n5qDL+uJj DmPljAHfOGrzeBLTg2Xd/B8BOdnmPf6VjTgPRql/9XPXXuKkA50tf1RQuSQ24oyXcDf9 1awIl6LFTBBsgEyHmOsKqx24p0jfSqoN26CCsIY3v6MDHwgEExAjU6E7K6wELHpr71LC /zPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751484165; x=1752088965; 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=HZJTmy8iMO10Pr+vq8YahlcUAGD8UjSWaZ2SUQyXxWE=; b=XnDooCnapRACCWKhBaUu/Krbmen+e1U/z9ZhdF55+zefWl19YY8FLPyOQrE/cFufAS VMc72QOFu7/4KMx1FqmmKbw7ufJAZu70njQGU15E/1nkNsiYvj6IYB/rZEUgflzqEMYL 0elv1XTkN5M98SsehfTLRFQ659B3Kuu1XINKyZFKwTeY1JVmzvwtTdVur/f2r88GxL3e If9dr2u5A+3t6GNy9ffBqsTy3N6kIVPLwoPscr4CipWJ0YSEx8MKAR2DkuqChWeYR8P1 f1ZqmL25rJLTi0yn8+CeWfe6w44EUanLGEwce3W0/RqJ4uwwVlBI3EUPLM6eriLQwXIa wNnw== X-Forwarded-Encrypted: i=1; AJvYcCUicRZU6qWeRE+9ZK048IJkku7Jwl2WtvEK58ajQu3t6517VZO08nnpAjeicT8pAevAZwUE+klpUQ==@kvack.org X-Gm-Message-State: AOJu0YzxuRzslwSVH//gF+fIpv/pBONLQ9QREiMpuO3BE0VnQfCBqDQW YKRfdU1/aE3GRi/YU6cSKyvsD+OOVD36c+F8oVsBFIvyIr3wdNGjB+2N1+NKYt0nf/LK7ZFx+KA ZVNW+BEKWfH6ufomHhZNfklasokGf3n6XA7jUkHJ0 X-Gm-Gg: ASbGnculD2uGwuauK3BQ4J7aAnWRuZ/rieMOYNA9PjtrTijXJZTep+z7N7ff/4ywAog Mj5Pg3fZOzWhCc7OEdy/kXxdi5IcnflavqaeR0TzvofdkuLlkmR4CjhKsVsCGeDzYtvcjGUuSPQ mliQdKR7F9mvSeYMmn+QO3nwKGr4Axq9ilnk8jYjl4Eroyv55epZzVQYkvkde1AH7hlVX69JRY3 KLOWakS0Q== X-Google-Smtp-Source: AGHT+IHQLSfiroyPrvtjIH75/x04Z0wW7cXXEfFpIKcEWvbcst14grCY9C1M69L5O8b1+9jLgicKYNu7hMebt3h6sbs= X-Received: by 2002:a17:903:15cc:b0:231:d0ef:e8fb with SMTP id d9443c01a7336-23c79ada75emr506775ad.10.1751484165285; Wed, 02 Jul 2025 12:22:45 -0700 (PDT) MIME-Version: 1.0 References: <20250630080603.36171-1-jiahao.kernel@gmail.com> In-Reply-To: From: Yuanchu Xie Date: Wed, 2 Jul 2025 12:22:28 -0700 X-Gm-Features: Ac12FXy1ZNhvLawpJ6OqYRFDRVM6dlFtYPyl7ZfzYq-VH3wH2jHIMoCeLMX6ok0 Message-ID: Subject: Re: [PATCH] mm/mglru: Stop try_to_inc_min_seq() if the oldest generation LRU lists are not empty To: Hao Jia Cc: akpm@linux-foundation.org, hannes@cmpxchg.org, yuzhao@google.com, kinseyho@google.com, david@redhat.com, mhocko@kernel.org, zhengqi.arch@bytedance.com, shakeel.butt@linux.dev, lorenzo.stoakes@oracle.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Hao Jia Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: iigi4n4uoe9t63fu19i7wz64r8pcu6go X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: C652C180004 X-Rspam-User: X-HE-Tag: 1751484166-563710 X-HE-Meta: U2FsdGVkX1//xfS1kjxN/Iie9L9WHR7PznzXhqweGe3UJpAAMyEm79xsNmcIKyZD9uADhSvFkIrBRHwjH0DghAymYfpJ2JP/0CqShSSh9GE4VPcA9qohzrHXoBfMk9KgaUkBnOniiGXJQxI2BW7jg3tJkJkeuyUpB/y/1itW8UhRL92TLPHWufUxzpAby1jttr0J6s4L8n63fuVZqY8zpQDzsRyVwh8CsN0KK1yYTki7bPwo/HdbGdTCAu4D3/XS/5XyOXkic/OeFkjLu4CFGfbe9J7zBiOQo5lBvqEQ3E+yDJ53COPDRLg+SQ4CcmJEHwn+49o5hy+TY1Rkt+KEISSxuacQSSNxN7qblsAO3C6/rYQqQcqQEGV/XfSf/tk2oI9OuaIbsMMEQZhRtb63eka2gJnOzshv3i/FH76SR+M1IQl8ORwCTnx4mi9/LBrBqA3BrQuoI4mqnqH5i1c4NTGacKf2jHw/L0NxQsYjejpep74U3cFha/TQ2FYKtrh/1rESQx76SqQd90lcbhebDmiRhCeFpYatcjveLsKoAsaCkvehBQ7mSwTZ0MEo3UCcXrIS4u/2y4052B3Ml0NtTF9mtFOuCAeedD0bVujVHbWJlAZvlAS/QJcYjuBMO2VxJD0iuP9XgdRx8XFu3vGUG7F5xBKbuEv/d87VOk/IiBcU9frMlnhIJmx3wmDL2dUWQyyjC+iZuUtYcQ3D+73Ex8mGsX4JhW61+4ItCjHsEnDxCsYTlF/92bFSErRcfWfmFRufkJ9yEBKgS32Ws/1zdHvU+HUGJn+7CkpdEmOhO8Cfx23qYQIe7XvY2Ce1MFx1LXvjc2vPHR1sbSINn42qeVR0lcjtDh8aZZCpUqik1Y7+a1lNBnlRVwYZwpwTo23vscq4aIUiKBiutejpEc3Q7/dPjzGh8XhKgQw171Pgi0Pc31lR/52M+gzEkjq3j+oDWIMzcihJLHdAZhR0ctx gzpugEZ3 RlHLrF5EMYuRONHjyznHYftQPvnVk3jD48EJa9c2K8uURLkqwJlf6DTKfGfvq55UzhFi3HeYcBKPBIFSKD2XTdy//j78d2md19CoxqoKekKIWtMjnzKrkNKlgIVd4O9i4jvPhGUXMpDWB1R+wyOV+02Ma4KRxOJ7k/zzYdk8NeP5JDriwJ0e0fcRvsgX2l8UbUhcC8vSjTCzaY4OJJW9fgtekghJbNXffCN5bUyRK8tzMTE+Na1i+ZnActNVhc+bWlENsc2QaMZTFoKpa9sMsljO+bx8XaMvMb0A33EdmVb1eRMkFCADrCtK2TRpP696RvSTdPCv8Msxwv8RDFY48a9iYrQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Tue, Jul 1, 2025 at 10:45=E2=80=AFPM Hao Jia w= rote: > > Perhaps another way to explain it is clearer. > > It is known that min_seq[type] has not increased, that is, min_seq[type] > is equal to lrugen->min_seq[type], then the following: > > case 1: min_seq[type] has not been reassigned and changed before > judgment min_seq[type] <=3D lrugen->min_seq[type]. > > Then the subsequent min_seq[type] <=3D lrugen->min_seq[type] judgment wil= l > always be true. > > > case 2: min_seq[type] is reassigned to seq, before judgment > min_seq[type] <=3D lrugen->min_seq[type]. > > Then at least the condition of min_seq[type] > seq must be met before > min_seq[type] will be reassigned to seq. > That is to say, before the reassignment, lrugen->min_seq[type] > seq is > met, and then min_seq[type] =3D seq. > > Then the following min_seq[type]=EF=BC=88seq=EF=BC=89 <=3D lrugen->min_se= q[type] judgment > is always true. This sounds good to me. Can you change the code to use one bool to detect any increments in `min_seq[type]`? You don't need `int seq_inc_flags[ANON_AND_FILE] =3D {0};` Also update the commit message with what you have here. IMO much more clear= . Thanks, Yuanchu