From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f171.google.com (mail-pl1-f171.google.com [209.85.214.171]) (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 30BBF30C63B for ; Tue, 11 Aug 2026 15:16:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.171 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786461378; cv=none; b=UQioTx/6j7BthwqDYYA4BpS7ryBPZP53tRgom3nkGM9cRjP2LtXfQ7PTzFxa2LEu6mFkdL5p2Jh6M+Lrfh//X7BKlcx4K/7Lazm9d9tBh82wUl1vbtvbY3AMIrUzSMApmvwXk6fi1t/N1p7Rrvq9lTHQuZSRl7GMIZhxngSeIp4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786461378; c=relaxed/simple; bh=ub3mcvCCX3MVDdYS+SeAb102YeUZsRm/pbZiOBkflbI=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=YReiZDAu18MLJZwsTZsZ0GzWM73Og3l7R+SiOGVhX5XhOYUsMyzh+tKDZ9t/5UCjSk1sde8cplV4wm0eUwAd4N7VNm6o4aDiZlpNgYW/ez9tvw0S3HBc1ycf2qtxexaujcgxe2jXHzXqG8gWCrzfyp+Q6EGtQSbnh3Np61cQ6eo= ARC-Authentication-Results:i=1; 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=bwfqZxlI; arc=none smtp.client-ip=209.85.214.171 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="bwfqZxlI" Received: by mail-pl1-f171.google.com with SMTP id d9443c01a7336-2cee9b74ee1so43145ad.3 for ; Tue, 11 Aug 2026 08:16:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786461376; x=1787066176; darn=vger.kernel.org; h=in-reply-to:content-disposition:content-type:mime-version :references:message-id:subject:cc:to:from:date:from:to:cc:subject :date:message-id:reply-to:content-type; bh=y+TjWxE6INahFNtOeQsNMBtfakKT8DT7FDX3ygEXVY0=; b=bwfqZxlI6Tlu6KI9uk887WcvKJoA8443E5ej0TNLv3rs8Kx8G1VoCKXRlVfwXRbibw XbJ8in8uG9YL86axa0sY7jjZRTlJqxaJHLiK1vZbIYzkx7/oPs8u5rPW34t5mtXxpLw6 ESFqDHnwyu3htuHEH7zNcDc9WuHWDqqzS9jhSPlcgZBaaZ5P/0v5bHE7tbit/d+E9BZ/ 1LS/WturQrCcL8lduOWA61xChbeijNjr17Q8r+yTKq+Ha3ErqgmaaVuCCj9WYwT2kLkq dd8LvRzcBjIb8jVwiTobJjGkBT0n3Tfklf7kYQgLi3r96iEhmKATNoWWpHCLaWAxlYfu 8L+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786461376; x=1787066176; h=in-reply-to:content-disposition:content-type:mime-version :references:message-id:subject:cc:to:from:date:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=y+TjWxE6INahFNtOeQsNMBtfakKT8DT7FDX3ygEXVY0=; b=JGulQesbNtxWL7ABd3/7kuetruLuPx65XBNLZKXEc7hiOJAmUEVO9iyYsJRc2uZJB3 HU+J6Uw7fAfAkUQYahNOIJ7fKDXv4fji6aAmf/H6Ul/UP5EC8BD+DF6CiUZ3xzi+ykwG jNxBO1mfvD5tXgiaa+s5KjoIqSgqvjiLF4Q4ybYSWqd/2NyvId24n55fTmoiSPDQipk+ T7KOOU71H/Kdv0Nc2mRrs0+xc4gguut6GN/rgirAbaWOupFAgG0TmAY5KKpvk81wRdw7 +wh/yivenmInLpgJOqsSJe2tC4sbRqZBYSDlUwzVQUMsJPc+CeyZ0jX6DHNkMzj7BNtO MArw== X-Forwarded-Encrypted: i=1; AHgh+RoS0DnE0zUE9BMpzOmjkAFN4c80v3jxA+B0ryd1B+7/WOAzQ6gi89rFUvFJIsuQw59p9jrzl3Ch2JakIoE=@vger.kernel.org X-Gm-Message-State: AOJu0Yz/WLSVTHBVlrnJzoWgOM6eFyTG3+cyzw4olCmuUqRU+HQemFjY bJWggxOZ5iMJM1C8sBvxpnwuwGtKTeaBET/gaFQcDlwgiELaikFewtsP X-Gm-Gg: AR+sD12mO3i6bF+DZA2ndaJWF8OEUyVeO2Q50nNuImBEpP64oMgyzAj20bYjZyAi29R MlkdR4APIxrYECuqOi2fq4vs3R0C4arWQeP+h2jAGElWh3bWA7KGL4LOWxKK+T3ujK/JLrO3F6N K8EhgM86Uxmq/6KA5Ul8DkT4tdhJpXfmWZ/H4gGUPQxB47PSi7pS3RDBtdWrq3//YGqj+edi79G 5jQTVO0Q+nwVfA3GTbfwyQzha0o00cjEFx1ddZqmAd200yDLta5mLIUVOIswAyAHt+dNllv2mSX SutmIqlV/4S1DZfVNXyGWGzj0zFwQpeRVrOIqtE3hnCIqdH600nR3+e1Am1Qhfd096h6N6cdLkC xg5JcImUdDCpM8Y90NJJMILZC/Y31QLYPgLhvQPQWa9y6mW/g5u/pfy1Ko/qmlDaNVhwS9+MQeG 7P05rIlOUoV8AWEEMiX0MF7PrxJ1Ma1Z65kGn3mGaofCtMTOJu9vUU/WDJfT+mfy5gBULWlYdn5 1GgsoB/+6O/d8hjWxZkMpxP X-Received: by 2002:a17:902:ea04:b0:2cf:4c0f:5127 with SMTP id d9443c01a7336-2d3177e7f07mr48448265ad.10.1786461376283; Tue, 11 Aug 2026 08:16:16 -0700 (PDT) Received: from KASONG-MC4 ([101.32.222.185]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2d3160f5cdfsm10104155ad.65.2026.08.11.08.16.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Aug 2026 08:16:15 -0700 (PDT) Date: Tue, 11 Aug 2026 23:16:05 +0800 From: Kairui Song To: Hui Zhu Cc: Andrew Morton , Kairui Song , Qi Zheng , Shakeel Butt , Barry Song , Axel Rasmussen , Yuanchu Xie , Wei Xu , Johannes Weiner , David Hildenbrand , Michal Hocko , Lorenzo Stoakes , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Hui Zhu Subject: Re: [PATCH] mm/vmscan: fix missing NR_ISOLATED counter update in MGLRU reclaim path Message-ID: References: <20260811071703.425097-1-hui.zhu@linux.dev> 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=us-ascii Content-Disposition: inline In-Reply-To: <20260811071703.425097-1-hui.zhu@linux.dev> On Tue, Aug 11, 2026 at 03:17:03PM +0800, Hui Zhu wrote: > From: Hui Zhu > > The MGLRU evict_folios() isolates folios from the LRU without updating > NR_ISOLATED_ANON/FILE counters, unlike the legacy shrink_inactive_list() > path. > This causes compaction's too_many_isolated() check and the OOMkiller to > under-count isolated pages when MGLRU reclaim is active, potentially > leading to unnecessary compaction attempts or incorrect OOM decisions > under memory pressure. This patch still doesn't cover the OOM problem, too_many_isolated is not used for MGLRU. I prefer to keep unifying them like what we did previously with writeback. It might work for compaction though, did you test it? > > Add NR_ISOLATED counter updates in evict_folios(): increment after > isolate_folios() and decrement after all retry passes complete, using > the original isolated count saved before retry. > > Signed-off-by: Hui Zhu > --- > mm/vmscan.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/mm/vmscan.c b/mm/vmscan.c > index bc324e37c5f1..723b513574b3 100644 > --- a/mm/vmscan.c > +++ b/mm/vmscan.c > @@ -4817,6 +4817,7 @@ static int evict_folios(unsigned long nr_to_scan, struct lruvec *lruvec, > struct lru_gen_mm_walk *walk; > int scanned, reclaimed; > int isolated = 0, type, type_scanned; > + int isolated_orig = 0; The variable name looks a bit confusing, and what is your based commit? In latest mm-unstable there is already a nr_isolated you can use.