From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ed1-f42.google.com (mail-ed1-f42.google.com [209.85.208.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9AE8C13B584 for ; Wed, 24 Jun 2026 10:15:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=pass smtp.client-ip=209.85.208.42 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782296110; cv=pass; b=nOV6rY9PFWP5AB6nf3NjhA3dx7zgO1hBaHPgTJbV0VNMpb2Tuetto44J+y5mlosbH6cRk7WF9sj7Dzp+Ujh3ndM91czs535rNaMRjr8hdz1c2OpbD2QmPOqUEOYNmhpsA8QAD4Cjqui8eMxlGn0EhwWk3vqaW77sXbAzPf+s8Wc= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782296110; c=relaxed/simple; bh=6zTaF9i96Yywwb3VhiCb89g6xvBwWMoB6PCKbt6PG4c=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=Irl1NMAS2ByCMmqRB47o5130g2exmJR1OtxHhpQfmRQ8Qc7fyrhDDLBL/flJJXD4Xo1CxsPsFnfRuX7ayKjPfl4VhCX6PNt0kQhkM12HvqFkTjQlnRd0vcIYeDb8aC8xztoWhEUzs2APHRqy3mTKClyrOEVJWR/YNCddF/fOt7Y= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=req6DeJl; arc=pass smtp.client-ip=209.85.208.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="req6DeJl" Received: by mail-ed1-f42.google.com with SMTP id 4fb4d7f45d1cf-697f5e3f4easo927184a12.0 for ; Wed, 24 Jun 2026 03:15:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1782296107; cv=none; d=google.com; s=arc-20240605; b=O4ODn0xQ+otY+hI/Bs+58kACk1D6rUAhn1Gc9AAkQlP3AimewKdXZobTOO7Xtf47Od wz14mjC1oeE5wMU/QXa1hfIsHaE5bModx9ngcKE/Y7azBv2/w4O3SraAhWPGBnhddOt6 y+tjVjHk9laNP5BZC3o5DhROCfE7XVmZHh4uRY4byvS8IOH2KBGymdg0JAvp1Kaejt6K akW6x7fB+3icssYrxEdYRw8eqHq+VT9E2xaLqS0I2cX9CBWnsmcAFGv1uaKOhYmx0ylQ 9RmRbQ0HBBXoeNfoyQcAwcV4UdAwtqwfCDsxQPW3yttXbSiPiP18k696zZIlQWkk97tZ 9YLw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=KV6fDYDT6hl+QyYHewqH+8z5UlmxqwcZYogbwstjfWw=; fh=UnVS9JW9siM0sHiJS5K95WiIKnFAXDXrvAB/WrVPB8c=; b=iggtbXBrADm2wceXhBcAQ66KjxJeerISQRKhD9k1/+wCvwHbUQzrWtIuGvFc2xjmZv e4dwIwufNHBiRefDPYdFZJ6SBYjlJK14wgTQaVVMlICr+92jX9oz1ApPGEPUJMOJaGyd GMBg3/CdCHiw9XoKzyKGCIq1H+k63VR/ATKRfdKMIro5/OBCY/kJoyulYc9kevr9z0LK pl9B1tFFIrtrZ7BB7m530NRAo9aYwBAM1o31y7cArqUxbzotU430+9UY/XP1eQhofxhK hT+q67u2G1ucwIfZqNhaNdk8GNf/p0Kd+yu8tyDGb//T3i0ILcEozpsZOpVn+DgBQIuC 2AQw==; darn=vger.kernel.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1782296107; x=1782900907; darn=vger.kernel.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=KV6fDYDT6hl+QyYHewqH+8z5UlmxqwcZYogbwstjfWw=; b=req6DeJlhMJ+YcL/S2RIN7bQJaFwipjEM98PQy4/obIvCx+wei4UyyrN4KjC9eOkVd kXA5fa6BxJOyUFiLKzGa5dHWOvQSIOzbi1nJ4ze854YjIxcYREX91ECcB4F8h8WAu3LG tCNnx/2E/JAywxoQDD+4fTA36Vg8NYf6naV5LTE8cMGzmCw7QflCLL8/8rLkBUqihv2I HXgll++PWbTY9LuHbg6vKhT3BfBrKHA+gma928lpDljlWdSODZZBnzt9Lc6NmHmt8aUc 4nyR6/7rrWbF9D7DuRDOuPLrukkp3mf0UVNSze3cPFvItErdCvUm0DvCZliOYvc5Qi+a FLdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782296107; x=1782900907; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=KV6fDYDT6hl+QyYHewqH+8z5UlmxqwcZYogbwstjfWw=; b=bjCS6KhMrqW/3GwsIVy0uv/yCwXLtt1iPrqUaxx2+SGQDp27NhZ202CUv7iKSOp2z5 /H+3b1FPX0+moytNfu2rSRkJAL3P24peEun8+AeLMrXBnrVh3lZVYc/ooJYTpl7FQBi3 UW0+ZWdsx4ObDwUV/hFP/iNTkOKN/9Zy02KdZu0U8Z+xwYd/ayjTq3AmLLh0pxc6xCdb a/O3ejs8gDaMgzIMbTI516KNUM8gldHi90lEBKM7lEnZwi1jCUM7YZEosq+pezdMZeDD Msh0GRaJXSOU1LKNqBWTTWE4GyUa3CP4vFE4PMf+xV8nnbxpJ6Tp0/CG/nl6R3ruu3YL 48aQ== X-Forwarded-Encrypted: i=1; AFNElJ9TOpCEiIEIgGvM1QdMkyqGddpJHIEboJZp2nhyy3t8u89nwSTRDuarurCkL9wUmnOEQ7abPgeWXGtcr7I=@vger.kernel.org X-Gm-Message-State: AOJu0YzaYIPMun34jcRrQr642sYC8RNrPelunBHuhFn5d+drW1aIVvgg Ygy5aAY3kfQICC87suUQkxLjQQ/oGmbGMmMjDTLJ6S56PgmpDsDc2e1Ra9BkKdnd3arw35Oim94 xCIY3YPud5dBSLEt1BD/6cGUovwtsPrY= X-Gm-Gg: AfdE7cnMMMH0/0hvmOYnIosf1KYoQpzEV+ryI9Kc4l5g8IOUQfDVGmz6eWpxgIkjfae 3vVbifDNeQGGlbuZoFNRKVxr3jwQ6S7x4p27azrTtSLTAPbCz6fak7KYCjXYV+6A6hZhsoE1pbw x5lUq3dT4rP+kAjZe173csK6/3ae9vkYNc//b1tR6/8v2WLvZ+QeWaKWs5S5nyFecoeKD0yGeux VUMUmR8Jlb6O/PxQPqRZnxdP644G53drs9SpipMCoN3MfBPeP6tjvWHgSShIIIFVApdGhkih6gS A+Xt8xGrBCs59bPL3m7Oz6ZAfFHLks39y63Y/Txs X-Received: by 2002:a17:907:9711:b0:c07:6a7e:3a3a with SMTP id a640c23a62f3a-c1030ab2266mr427966966b.12.1782296106768; Wed, 24 Jun 2026 03:15:06 -0700 (PDT) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <20260623231635.43086-1-baohua@kernel.org> <20260623231635.43086-2-baohua@kernel.org> In-Reply-To: <20260623231635.43086-2-baohua@kernel.org> From: Kairui Song Date: Wed, 24 Jun 2026 18:14:29 +0800 X-Gm-Features: AVVi8Cc6WlHWDKL6uE8pLXa5bohzoTjZDSAuYWQguqEUzcOOj0rvUnmnT0wVcI8 Message-ID: Subject: Re: [PATCH v2 1/4] mm: avoid unnecessary lru drain for wp_can_reuse_anon_folio() To: "Barry Song (Xiaomi)" Cc: akpm@linux-foundation.org, linux-mm@kvack.org, baoquan.he@linux.dev, chrisl@kernel.org, david@kernel.org, jp.kobryn@linux.dev, liam@infradead.org, linux-kernel@vger.kernel.org, ljs@kernel.org, mhocko@suse.com, nphamcs@gmail.com, rppt@kernel.org, shakeel.butt@linux.dev, shikemeng@huaweicloud.com, surenb@google.com, usama.arif@linux.dev, vbabka@kernel.org, youngjun.park@lge.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Jun 24, 2026 at 7:16=E2=80=AFAM Barry Song (Xiaomi) wrote: > > We always unconditionally drain the LRU before retrying anon folio > reuse in wp_can_reuse_anon_folio(). Instead, assume !LRU anon folios > are in lru_cache, and use the refcount to avoid many unnecessary LRU > drains. > > Acked-by: Shakeel Butt > Reviewed-by: Baoquan He > Signed-off-by: Barry Song (Xiaomi) > --- > mm/memory.c | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/mm/memory.c b/mm/memory.c > index ff338c2abe92..f6848f4234a6 100644 > --- a/mm/memory.c > +++ b/mm/memory.c > @@ -4193,12 +4193,18 @@ static bool wp_can_reuse_anon_folio(struct folio = *folio, > */ > if (folio_test_ksm(folio) || folio_ref_count(folio) > 3) > return false; > - if (!folio_test_lru(folio)) > + if (!folio_test_lru(folio)) { > + /* > + * Assume folio is on lru_cache and holds a cache referen= ce. > + */ > + if (folio_ref_count(folio) > 2 + folio_test_swapcache(fol= io)) > + return false; > /* > * We cannot easily detect+handle references from > * remote LRU caches or references to LRU folios. > */ > lru_add_drain(); > + } > if (folio_ref_count(folio) > 1 + folio_test_swapcache(folio)) > return false; > if (!folio_trylock(folio)) > -- > 2.39.3 (Apple Git-146) > Reviewed-by: Kairui Song