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 0AE1ACD8CAB for ; Tue, 10 Oct 2023 16:48:59 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6B0A18D00C4; Tue, 10 Oct 2023 12:48:59 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 661058D0002; Tue, 10 Oct 2023 12:48:59 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 54FF98D00C4; Tue, 10 Oct 2023 12:48:59 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 462698D0002 for ; Tue, 10 Oct 2023 12:48:59 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 17353B4C42 for ; Tue, 10 Oct 2023 16:48:59 +0000 (UTC) X-FDA: 81330136398.05.104E820 Received: from mail-yb1-f179.google.com (mail-yb1-f179.google.com [209.85.219.179]) by imf17.hostedemail.com (Postfix) with ESMTP id 5E5A540030 for ; Tue, 10 Oct 2023 16:48:57 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=jb4asror; spf=pass (imf17.hostedemail.com: domain of mimmocerasuolo@gmail.com designates 209.85.219.179 as permitted sender) smtp.mailfrom=mimmocerasuolo@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1696956537; a=rsa-sha256; cv=none; b=ZzgST+oBTPIkhxZZqyAgKTGFovP9yWJ0j2IDfpkcHEqlAVKbmPFOFZOxlkXdshv1tEPoXH yRFri/xz45UMssd0jbax9ro96pxuyjLkw5cGOAQg83KHNACipQ6TO84kxqMi5Mvifd0iz3 mYfhlVUhXkQeI9OUFC6bV7Hg/57lxmA= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=jb4asror; spf=pass (imf17.hostedemail.com: domain of mimmocerasuolo@gmail.com designates 209.85.219.179 as permitted sender) smtp.mailfrom=mimmocerasuolo@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1696956537; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=F6yfbZUcdTYweQuQIVJ4G7iiHQ0Y4iE8YHYGN5BB78g=; b=U+WvJKXgNCPOS6tsYNngQeqBhBOHfCl6K9Vz+WeisGZ3mCdIFlSC8Bc+5Pzx4042WLbRgk W+feU2bKqx6Ukpb+VOXIMH5QuDsQ5qCYhQ0KI4uSOiDAsAXRwwGpKvvY9Z50b8tU7dIWVb QZ4USOr5wioFIP6w+/qik9S4SM4uoz4= Received: by mail-yb1-f179.google.com with SMTP id 3f1490d57ef6-d8164e661abso6282772276.1 for ; Tue, 10 Oct 2023 09:48:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696956536; x=1697561336; darn=kvack.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=F6yfbZUcdTYweQuQIVJ4G7iiHQ0Y4iE8YHYGN5BB78g=; b=jb4asror1CH6vIIvBzQriParL2iTrqdNh23elDdpbuMIc0Q2xuiDkSBciilUkyNf1G 3Ei0Uy8T+RzqvnsZBuTsaAeus5fLYMU437T/dbkA2MtI7kTVz37DnIBFp9zwlCbimvPg WYHZUiBHjgtPb2JI0X8SJK8QZGzfUm2bWxqFRJdxIWn6KUEF6ld0UMIMJYHhvWN86YqF ZI13W8asiCZerYzYZCdpLhWGnST1oVuLUGqVdY0QTZDNRTVGtB9PksGArt5oECGfU7om IR+we9bS5dsTDf1cR85rLkbcTb46jtnPOS4MQuFO03+TWv7exSnTW/8xqHRislcva4xG ESaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696956536; x=1697561336; h=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=F6yfbZUcdTYweQuQIVJ4G7iiHQ0Y4iE8YHYGN5BB78g=; b=cvJ11YPj9Yt00vEzQZuTGsQWvL2fj2pvC2/u924kM+zbKgX1iaCuKJR1uXhATVFo6c KOOA/qTlZLMmmU9vz9nB/iSnhiYd/baVhUnWHBcqURGIIoTh9+VDZzZgoLcOD2uwryjN sGEdOw6xRZZc8Hb2ioEA+vSV2jmSObkUhspR1shI3bo49a+uMZ6tiekoXyP/av2G6ZMf yRuPZdB8E+svCyMfGBz1YbF7q5+mhnyemNwFZpJM4TS+mrShtjPg/XZr7YBHGfZFTgeA snW7y+h5ZYEk65u4i+KMLMOEYxBPxO1E+r6D9kPWgWVK6mHYz0QvOeJiJe/87z0/KoD9 GjsQ== X-Gm-Message-State: AOJu0YxAlX8hjwVz5odAGZjl7ba7moqRbCGx3Ji1//6S+uqfiOJe/T+B qbd12YskZlQTRVD7pco49oSV1oJhd/VhpKgYcq8= X-Google-Smtp-Source: AGHT+IG1Q1H2aRZkN+GdQsf18X5YRzerJzVeovsTDs2fjFiqLpKPd7sueu8wJF9sq0/Vlu99kOr7hui0Jdwrt8Phsgg= X-Received: by 2002:a25:2390:0:b0:d9a:4367:1a92 with SMTP id j138-20020a252390000000b00d9a43671a92mr3092795ybj.50.1696956536082; Tue, 10 Oct 2023 09:48:56 -0700 (PDT) MIME-Version: 1.0 References: <20231010032117.1577496-1-yosryahmed@google.com> In-Reply-To: <20231010032117.1577496-1-yosryahmed@google.com> From: domenico cerasuolo Date: Tue, 10 Oct 2023 18:48:45 +0200 Message-ID: Subject: Re: [PATCH v2 0/5] mm: memcg: subtree stats flushing and thresholds To: Yosry Ahmed Cc: Andrew Morton , Johannes Weiner , Michal Hocko , Roman Gushchin , Shakeel Butt , Muchun Song , Ivan Babrou , Tejun Heo , =?UTF-8?Q?Michal_Koutn=C3=BD?= , Waiman Long , kernel-team@cloudflare.com, Wei Xu , Greg Thelen , linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 5E5A540030 X-Stat-Signature: 89che1kos3tdhhd48yzr64u1afq9ac6d X-Rspam-User: X-HE-Tag: 1696956537-139469 X-HE-Meta: U2FsdGVkX18q40gnRmHCFWPBaUdOrKdo95Dak5IR4lfu/rlKXh5FDMUIs/nYsdexDr5v3hzfGoOElKZyyVlVThbthifM1xUisa7QJ07Xg6my06JUQwz0a7+v4VCIaW46p0/KXizJMAp6Aq0/eue6tlQBhyWkd2go1SqBXPLRMj4+x1zMO+w+pTDU+3ZFFXuvS8pbgv7sQyeC9Oa5iDOOlYPuv0/cw2xr3NYLC4ZLVApXEbE2nQ0ICGxzssZM0os9RCq3Zd7oghQktQ4vlW1dexTT/9tzORUFV5yuznsBj5kY1LIvi+AetQttc0pkHHsVAJ7vFbVDXmB5EnXOKG36Uo167hJJ9InHfTafjlQvwT8NiUWnsM/uRTVPpqhIYmNNLxP1Bbrk46jPlAEkSRKYLatXAfgzX3OFhpVYfzZwLheBifVH9gGsK1FJtIIPEDFxB1GJiGYgpxo4wEFGNhyC5XFP5YQJMRJZGetvWy73G5K3WlACMWbi2fGZ+LVH+umoOu/+EP31T1okz5pyC5VdBj76CkCl2dpWP8pLTN+iFhKWXTuvnjIa7q6Mg1493tuwwRVyoekr7WJF5o8nhX+mF8w8/LB8tDfjhI84I77QuRoTverbic/PuCh5vrxIwJD+bZoSVM6sbEB+H1SlO/4U6tOsFndEoki6FtBt2H/Di2gHBGtPVmN6Kui1qS58D7sHQri5jg36j4BG/TCJc0zfEut79fZLrvetyPCTCcrj+DPcQtpAV6h4G6Hs5rHlB8AVKzKSRXqfRgRK4WUT+cgfWoMYp99+0CnaweW7L1t7Q9dX/FpHJXA1ANB9EVx5IEmzB+/dPZrNh9oXcMTxVD9EQtp4AKAwdX0JWDzSdCWqNYR6BUcsK00JPvDNmFvKAeMLR9+EYlhUwM/114aLj6u9oQpANchrdXZRlky6R+zxuOknlj2NnqvLDopms0L35hxNTm818AfZbnSD4Iv/Zuk PCR9U8W2 XQr/f0hM5wPOZHezaCsKce5wL4vNivsVt8fD7Xlv39qDt0CWrlDZ27/sBD3VhVxca51rdULmnsIIi80bG1DiE9LOcTbn5o1uuxhmWi2IAZ+iUpIlWObhFvOFZXggIDJioDx8ykrjvYIt4ClOYq+j0p6OOOPNc6UvTRgANFtCrJb42D7iljXTlpFSdMvIg68LNkxXFMOWClfCHYT4sK3hPrCRv7zNjcZD2rX3XZ9ZwoR7w/7C29isuosACumnSnP9uVudkKkFPPA/FTCMzlE/pifWoM1jxi8yhTpVFPJUBWn2/KxtNQYMc9UxoWGG62IpXWsZz1FAG6x6jFmvyOC2Dyh98+woNZ1Nz4ull1KYgfmPU9MhW5Eq+naFhalJ+RGPd/cys2ApZynSWAtCirEXw2y3dNcQ1r0V7VP3zw1M5G3TINhypzMCtbnGM0OlVkB+IW7nX3ZX2PHhRsHhkK8D7Q0tax+huGkHmkCCgRBlQJSOU43DWTx6P+RPja8RzvPaKGQHKRqe13fCFXC3t/FvZ+MPwoBIVP8jnaJD+VcaRJk5UCPbBiyPFXAO5nar1mLvMHrCCjzgDu/k3G1zCD3tHRjSSZ1H3bFjlLcXC23vdxsLq3SJwEthHgfDeJlnsS8md2Px6 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: Il giorno mar 10 ott 2023 alle ore 05:21 Yosry Ahmed ha scritto: > > This series attempts to address shortages in today's approach for memcg > stats flushing, namely occasionally stale or expensive stat reads. The > series does so by changing the threshold that we use to decide whether > to trigger a flush to be per memcg instead of global (patch 3), and then > changing flushing to be per memcg (i.e. subtree flushes) instead of > global (patch 5). > > Patch 3 & 5 are the core of the series, and they include more details > and testing results. The rest are either cleanups or prep work. > > This series replaces the "memcg: more sophisticated stats flushing" > series [1], which also replaces another series, in a long list of > attempts to improve memcg stats flushing. It is not a new version of > the same patchset as it is a completely different approach. This is > based on collected feedback from discussions on lkml in all previous > attempts. Hopefully, this is the final attempt. > > [1]https://lore.kernel.org/lkml/20230913073846.1528938-1-yosryahmed@google.com/ > > v1 -> v2: > - Fixed compilation error reported by the kernel robot in patch 4, also > added a missing rcu_read_unlock(). > - More testing results in the commit message of patch 3. > > Yosry Ahmed (5): > mm: memcg: change flush_next_time to flush_last_time > mm: memcg: move vmstats structs definition above flushing code > mm: memcg: make stats flushing threshold per-memcg > mm: workingset: move the stats flush into workingset_test_recent() > mm: memcg: restore subtree stats flushing > > include/linux/memcontrol.h | 8 +- > mm/memcontrol.c | 269 +++++++++++++++++++++---------------- > mm/vmscan.c | 2 +- > mm/workingset.c | 42 ++++-- > 4 files changed, 185 insertions(+), 136 deletions(-) > > -- > 2.42.0.609.gbb76f46606-goog > > Hi Yosry, thanks for this series! We backported it on a 5.19-based kernel and ran it on a machine for almost a week now. The goal was to fix a CPU utilization regression caused by memory stats readings, it seems that this series was the last bit needed to completely fix it and bring CPU utilization to 5.12 levels. FWIW, Tested-by: Domenico Cerasuolo