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 4C0EAC3DA6E for ; Thu, 28 Dec 2023 08:02:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 97FDD6B009D; Thu, 28 Dec 2023 03:02:33 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 9300B6B009E; Thu, 28 Dec 2023 03:02:33 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7F7716B00A0; Thu, 28 Dec 2023 03:02:33 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 709DC6B009D for ; Thu, 28 Dec 2023 03:02:33 -0500 (EST) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 424B240886 for ; Thu, 28 Dec 2023 08:02:33 +0000 (UTC) X-FDA: 81615484986.11.46AC2D8 Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.42]) by imf26.hostedemail.com (Postfix) with ESMTP id 6CC2A140023 for ; Thu, 28 Dec 2023 08:02:31 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="VSBzY2/q"; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf26.hostedemail.com: domain of yuzhao@google.com designates 209.85.128.42 as permitted sender) smtp.mailfrom=yuzhao@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1703750551; 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=1eB61PJ6bXuOFc4kAwo732pceo1OINco0DG5E/GPGo0=; b=r9jy1ZzgveI0gQPBgEv4tzAC+IAj+uvGvATJgWM0T4+2QfOIWx5Z6gFSYgsG2CX+2VDhjY +Nnw0ezBSOQoWlE22pxAj2BdEyQolseqyiGpa/F7qmSYOXpl7eJHESb0S38IGVS8rcVNAE eXZhml8iZIXquvmPc1UxJc6rKbfIBvc= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="VSBzY2/q"; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf26.hostedemail.com: domain of yuzhao@google.com designates 209.85.128.42 as permitted sender) smtp.mailfrom=yuzhao@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1703750551; a=rsa-sha256; cv=none; b=S4UKo2y5qt+tlgziHhwuAPNExrPR4pPovDDSVIb750mmGKFP8GVfEi3eNqBFnYQypEeI/M I+YjdjrdpRH6hj3Py2+y579QkMoa9lomB/e0P8sp5nHLD4LfQKOJEyxm0rK1XznRQWQ5dd aRdYiABRERVFRndyP5LOt/B29uTSkT0= Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-40d41a32effso286365e9.0 for ; Thu, 28 Dec 2023 00:02:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1703750550; x=1704355350; 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=1eB61PJ6bXuOFc4kAwo732pceo1OINco0DG5E/GPGo0=; b=VSBzY2/qU+8I9UFax/xvyQkMPpndY8JHicMDoYeUjAFb3c92xbt4ll+mrjnNnHkslA NiLYPdBhRDNSBZEUXaCHPrWkoecOYHMLsGVAdOFKl87k80fPXH+tZHs3UrdwPiNzqQJx SZqk8UjTdDiyIN2S/RxooBVZSSLDk0wO3P8jiPpwJfI8kwRlwcvEhcqJJ3yTDAd48kMN DWbiB721pY/PeJhhpHUtQeRxXkHkrgiJl48T9shArUnuC9Ps7cdSkVCIYm/KSdISaJYE S0CovxkdhyRnpBU5Ak1dZ+zt9R1xtboP1i0IvyP1lxeif6YBREnOf5Nw0K+COnDI6xGw ZpKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1703750550; x=1704355350; 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=1eB61PJ6bXuOFc4kAwo732pceo1OINco0DG5E/GPGo0=; b=uEIwQKe8l1b6EaAXziCZVbFnEJKORMNjaNZmeSq+hFBVLbnh4GaWIjFhLDXAvP0h1D bhTjwljX3hmW3TRgDBSLu48NXjH3OpROD6nolXAd/gy2L8xPQHrYYzcTRnHk9Uc6m0UC JrtYO8qRMINzCJDR9WKSEl2fefy7JmH8rIp/0AiRfAseUGr/Q6HUgyVZZxadbkZZh8Md hnthiHbTewFAQMqWUjm95QUbB1LiiEa0a2/CY8smaKiaaXTb5oTemwhSrU2omhQ2jzrN Bz9V9DoaxXJLbspD0wRVo0d5A7uRHqbVsHVOoPnslF2R1sCg6yxcLensyOPoBwMcQeeh nIAw== X-Gm-Message-State: AOJu0Ywu6Cr5QwoF2XS/F2BZg83fPFNBdS/ziZ8LxUIsUFqZIaGi0QVv zcijn6O+HZyUz5lnxv/5k3xs5XyfPIg5g5solC4/k8wAzP1I X-Google-Smtp-Source: AGHT+IFQHW+Q/Yt6QyxXEHRjzz2VaaoY833C1iYaqV5n3v5D+8xiTWxjXWzG8tMdhUTve9fmyAGq1ZODhJiCWlOdRAQ= X-Received: by 2002:a05:600c:450e:b0:40d:2bc7:e9b with SMTP id t14-20020a05600c450e00b0040d2bc70e9bmr689916wmo.4.1703750549687; Thu, 28 Dec 2023 00:02:29 -0800 (PST) MIME-Version: 1.0 References: <20231228073055.4046430-1-shakeelb@google.com> In-Reply-To: <20231228073055.4046430-1-shakeelb@google.com> From: Yu Zhao Date: Thu, 28 Dec 2023 01:01:51 -0700 Message-ID: Subject: Re: [PATCH] mm: ratelimit stat flush from workingset shrinker To: Shakeel Butt Cc: Andrew Morton , Yosry Ahmed , Johannes Weiner , linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 6CC2A140023 X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: 9p57m88qj39mhpb7zhep4z6o7mruk6w1 X-HE-Tag: 1703750551-753201 X-HE-Meta: U2FsdGVkX19vnPrhpfMVLmekJd4Gu0YZUDpNtnvn0iXlNOyyLF5jeS43gnMK1eBMLmAZIq7LfCyWg125MWUQv69imR9RIFaFkFSDT0t+C2vfxNQXBf+CZ47+Tjx2QCUA2SiUDjvG0q0M42B7X9XPpX7to3eR/kmzhE4NM1uPcxr+RnLaiOWfHSMOkXmSYClAYWsMzyrK9uDFgOBTz02F+tHnTE3g0UXK3Ha3lYwcxe3HnQtbzK+w42vS75uctaiRH1I6c8PGLjy+dZH4CChOjO731Ke+PQ+8sUVdSqlzG1Tv7bnyHjcbuepcWhulPDDogsqp74kUnFMzmNgGrw23zwikzbci3i/AU9hZBoVmDOMt8sNYTzYFrH6kSSNNQp8HriTTsWB4IAcXj58RwzboFEbdp1k0+S4IVnHnNVYt6kV6CAgcXq1UTQzVZaiI7St+RVd3WI4SqV1omMozPPy9nL5Wd1upBijMwv5alHr2jKuRaDwoWwZy5+Fc6b4DLAMJ7D4E8aPhmQn0RSPYB4EkjWMoqmcck8R8s9g5ATIwAgFUAxxIa0uHetgGJN8oAACHcAX71Vm6AqJke788qODrcOU1hcUguL88KexyayNV9zLeXeHERJmMeINB/AbQNoCCYBEIdirBEF331K39fNjzh/s2VeJT+IBkyOdMSnHgIiMqKo5CkW3Oo9ZwoBOvyXDN8M5CCHIFC4RPpju986K5dboO3Yiz6ekBs1ljQj1lgZ8lb9mf00ojHZt8yaEcE8CE6+YuStsP4HebZr7eP65Jkk/4tW9S7Nt7Wx2tzwcieON5QxTqgnxBZbFg89ef5CIUe9k5gT1z4Lw4ZDqsUIG5gTyTmpwN9hmvG+LNXMGI9pHkQHEhUmwoQkpWRUm5mWw+P423b9DunNGbBgm8eEgAS8x9lPVJCptFSoxIUD0V5Fh0vGFfhAz+mkhEF/K38FZlrqJAP7uSSKkW1l6u8fg YigmIX0O nIEdCqOs0kGqqqkmvYzSwD52DC0t6y8m701Wol8yVQrkTVZQy3ZCMvmJQ8h40TlOW8b+dSnldgMSgqovWiYwT0+lBUNkL8mzXe/7Ia9TAPbYzi1poEXTAGMdhAHOYYH13TmKQi0/4HrGDMvnOsk9BwxqONc6qlicyfHAlt4zA1weyQbRWDeh/zIWBq41Wa62q3VPmWqOlP9sMzOy0QpcvsnWQBQ/TKuivIMN/10EibxzIt7gRLhvuuXLc/Q== 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 Thu, Dec 28, 2023 at 12:31=E2=80=AFAM Shakeel Butt = wrote: > > One of our internal workload regressed on newer upstream kernel Not really internal -- it's Postgres 14 + sysbench OLTP. > and on > further investigation, it seems like the cause is the always synchronous > rstat flush in the count_shadow_nodes() added by the commit f82e6bf9bb9b > ("mm: memcg: use rstat for non-hierarchical stats"). On further > inspection it seems like we don't really need accurate stats in this > function as it was already approximating the amount of appropriate > shadow entried to keep for maintaining the refault information. Since > there is already 2 sec periodic rstat flush, we don't need exact stats > here. Let's ratelimit the rstat flush in this code path. > > Fixes: f82e6bf9bb9b ("mm: memcg: use rstat for non-hierarchical stats") > Signed-off-by: Shakeel Butt > --- > mm/workingset.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/workingset.c b/mm/workingset.c > index 2a2a34234df9..226012974328 100644 > --- a/mm/workingset.c > +++ b/mm/workingset.c > @@ -680,7 +680,7 @@ static unsigned long count_shadow_nodes(struct shrink= er *shrinker, > struct lruvec *lruvec; > int i; > > - mem_cgroup_flush_stats(sc->memcg); > + mem_cgroup_flush_stats_ratelimited(sc->memcg); > lruvec =3D mem_cgroup_lruvec(sc->memcg, NODE_DATA(sc->nid= )); > for (pages =3D 0, i =3D 0; i < NR_LRU_LISTS; i++) > pages +=3D lruvec_page_state_local(lruvec, LGTM.