From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) (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 394E43101B9 for ; Wed, 21 Jan 2026 14:38:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.48 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769006291; cv=none; b=sW+7Vp7NNdThwkiFjP3qAIoJi8Cf8JbXS9Fbm6dMuP6dV6nyZDCtPauvDzeyNGSQVQUALbS70VoBffymxnhizC3CbkbcRpFs2I2p5rqJd1Vf6IfV86Dv3AzF7M2q55a6gxqLhDgn/JG84vPNgBgJTSR71XctAkCeGxI7NAl4cTQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769006291; c=relaxed/simple; bh=BbRD5Jcz99lo/S6D9inxFRj8ZQmNMmCBEg5hAGbFm1I=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=cHCD1G6jxX8IBJcQy4Qi6JDc4c9LtKP+BWABzx4urDViZamYSBwU0I5gBU93wFGWkMfYjsjU3VYfeRllJh/bMzntD7zK8Oze0GN8JzCAhnXw+94lD4U7z4y1EsdjHQopwl5SD3LTusbM7K/ou07WOLl0BJgCrRtlltmzRbgdkBs= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=Yuivwf4q; arc=none smtp.client-ip=209.85.128.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="Yuivwf4q" Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-4801d24d91bso48387375e9.2 for ; Wed, 21 Jan 2026 06:38:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1769006286; x=1769611086; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=rCFnBYovc8CaOJRyUXyWvhAiDjdFkUOm+Iek0vayQAg=; b=Yuivwf4qqnJKGpwoOUUKn1ceWlyUNTjeFIEbIxbdKFO4mZtpr8upZAROe4+1uz7UHY 9c3a8ne2QKp6q1fyYe538BZxRHkTGFtb+8NZq9UkrcgNnlHR6JObCmcPHP4IElT5V1Fo VAPsMORFbJ9EvvvLx9j328G6X/SVFFKCic4fU2ZNW+eX091k8yMVHIA5TDNJINhkCWvP ZMH/giAEz+fnUjAKrhMCNklWr3dlEuFADQ2epRQbOP7PkQ/wYuPkmOuvepoDetvae73X 7JcLzU8GDE7l3h0myp7S/mNqlZQa5VBkAyu4V1sRo5WxH0DAef7byB1POYCFJ0bralTr Bt4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769006286; x=1769611086; h=in-reply-to:content-disposition: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; bh=rCFnBYovc8CaOJRyUXyWvhAiDjdFkUOm+Iek0vayQAg=; b=ss9bYRhTyk/TPoxLc7hj1285TpDE+SyKOR+lZaEAF5ndEAABEIdOIhac1YX7LQG4/8 X5gdITMAnzG8LPG3ulWuhfIwIw/bYlZai97X06HTYgqAOmtggQSliTcGO5l0dM9t7G7s ZdEQUqV5dr+n9pqKcq6HM2/UZIakuBeF7lri067PzWqEqu3foJgL3JQaTS28Cn1M2UgB jo136AfhTyoIwDfg1qD+Kh//2tk6p6rA6mvdgPwMe56eCsANEnxjDoTLWqaOhp0s/8v4 upxeRX3Jdq9kCSoYu3ytQw6Z/ORDUkCHfmr470j7/j0Z4WEuXvxQpXhdbVU5KBW2Ra25 ZK3g== X-Forwarded-Encrypted: i=1; AJvYcCUPyKzDSvI0r2lndZ0VMiCf/TVEOlW0sSwtGIATpTYAdWe0XD5iEhrjXJ5pU2WVL9ac800Qg0czhNYzon4=@vger.kernel.org X-Gm-Message-State: AOJu0YxQF5rcDfRAwdPKxxcv7yp8BSAlPO4rc/SD9QTGW0x5TPFbwJnL D7BeVq37VOF/W+MCCFoSO9cXKffIXzv106PKswzMvBaRyYYV70eWBDZ+nrzU449Gkmo= X-Gm-Gg: AZuq6aLFsHYhPLO5SPcxcf5bRXlrHuEvWklmHheSmYNgqTbmHNwGDwqL0V8acJjJaqg GEu0BoFGkPR35lAp5kUoKbF1Ig9EKhK54rsKd0jhJ+RQxcExaH57xTVLfGM34VbXbUEqpE7TxwN CUZDWHdz6Qx+Jer/rc5+5V2PEITdnW5BhqpDtWXLPbuQ2pvP7129kVsRJze7Jb5dIGPS6mOGgbt lOvBq525nLQABmK1IsWUHdzv6O/sOrHwbTWUSygVl5WafiJJ2FeVuuwFlbO7j2D9iqLRXwSVC5g dNfA6ttHRjONQ2UEw9YRkdyOqmrJZ7SRbpNttWVRE1LQF0m98fCpJjnLrMWqy6roYm9KcE6pfAs O3IqbQ00amYT2MPw8mVlUFvL2+9EomSVJ8C98RRgL5eO4xJ1qhaF0ATydcAdy125uUG+ZEBPaOS l21EDySajqAmdV0OqJH4RSeCRX X-Received: by 2002:a05:600c:154e:b0:47a:80f8:82ab with SMTP id 5b1f17b1804b1-48042c3a712mr47102365e9.24.1769006286356; Wed, 21 Jan 2026 06:38:06 -0800 (PST) Received: from localhost (109-81-91-169.rct.o2.cz. [109.81.91.169]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4801e886829sm312872195e9.8.2026.01.21.06.38.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 21 Jan 2026 06:38:05 -0800 (PST) Date: Wed, 21 Jan 2026 15:38:04 +0100 From: Michal Hocko To: "zhaoyang.huang" Cc: Andrew Morton , Johannes Weiner , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Zhaoyang Huang , steve.kang@unisoc.com Subject: Re: [PATCH] mm: bail out when meet the goal of proactive memcg reclaim Message-ID: References: <20260121090620.559242-1-zhaoyang.huang@unisoc.com> 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: <20260121090620.559242-1-zhaoyang.huang@unisoc.com> On Wed 21-01-26 17:06:20, zhaoyang.huang wrote: > From: Zhaoyang Huang > > The proactive memcg reclaim defines the specific target mem cgroup > as well as a certain number of memories, which is different to > the kswapd and direct reclaim that need to keep the fairness among > cgroups. This commit would like to introduce a criteria to have > proactive reclaim bail out when target mem cgroup could meet the goal > via its own lruvec, which means the reclaim would also go through the > whole tree if the iter start on the desendants. Could you describe the actual problem you are trying to deal with? I would be also interested why the limit aplies only to target_memcg. > > Signed-off-by: Zhaoyang Huang > --- > mm/vmscan.c | 11 +++++++++-- > 1 file changed, 9 insertions(+), 2 deletions(-) > > diff --git a/mm/vmscan.c b/mm/vmscan.c > index 670fe9fae5ba..5dcca4559b18 100644 > --- a/mm/vmscan.c > +++ b/mm/vmscan.c > @@ -6028,8 +6028,15 @@ static void shrink_node_memcgs(pg_data_t *pgdat, struct scan_control *sc) > sc->nr_scanned - scanned, > sc->nr_reclaimed - reclaimed); > > - /* If partial walks are allowed, bail once goal is reached */ > - if (partial && sc->nr_reclaimed >= sc->nr_to_reclaim) { > + /* If partial walks are allowed, or proactive reclaim where > + * the target memcg is clearly defined that could let us ignore > + * the fairness thing, bail once goal is reached. > + * note: for proactive reclaim, the criteria make sense only > + * when target_memcg has both of descendant groups and folios > + * charged. Other wise, walk the whole tree under target_memcg. > + */ > + if ((partial || (sc->proactive && target_memcg == memcg)) && > + sc->nr_reclaimed >= sc->nr_to_reclaim) { > mem_cgroup_iter_break(target_memcg, memcg); > break; > } > -- > 2.25.1 -- Michal Hocko SUSE Labs