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 5AAF8C28B2E for ; Tue, 11 Mar 2025 13:49:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B45CB280007; Tue, 11 Mar 2025 09:49:39 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AF63E280006; Tue, 11 Mar 2025 09:49:39 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 996E7280007; Tue, 11 Mar 2025 09:49:39 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 7B03F280006 for ; Tue, 11 Mar 2025 09:49:39 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 5D15F1A0104 for ; Tue, 11 Mar 2025 13:49:41 +0000 (UTC) X-FDA: 83209402962.08.2E53B5B Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) by imf09.hostedemail.com (Postfix) with ESMTP id 62435140008 for ; Tue, 11 Mar 2025 13:49:39 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b="M/Qf/3uh"; dmarc=pass (policy=quarantine) header.from=suse.com; spf=pass (imf09.hostedemail.com: domain of mkoutny@suse.com designates 209.85.128.47 as permitted sender) smtp.mailfrom=mkoutny@suse.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741700979; a=rsa-sha256; cv=none; b=5emsbUyI5RykxTVoyFtSrWi9N8tmZgU+mfreWZBoPBjG5dxSX4R5pCfOb3LX6brASkbzgP o5Bi7rgGTU+1uVWWnXixK/3718eSibWHzeFJmEhFuQdQK7KNV1nJQ5zGccgv/jzjt7cIAc +jTxa2MbR3N8mko59in8aOrF/A6CA5Q= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b="M/Qf/3uh"; dmarc=pass (policy=quarantine) header.from=suse.com; spf=pass (imf09.hostedemail.com: domain of mkoutny@suse.com designates 209.85.128.47 as permitted sender) smtp.mailfrom=mkoutny@suse.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741700979; 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=RlZHNg9yhg3SzjB7LxxqzdvnbsuoathUQwWLXPBZZPM=; b=LPtt3J1kPjlyi4+7EDmpDgqZelc4iYXyX5wx5lj1XxHNM7rodofNifrhnuqL+jMSmOsMV/ azWZUKzJmXKFCzXB/v1PPiace09dRQRpiHP3f1capum7yN/VcQDXx6JgZJZUqXaxNde7vM nlK7C+Nc4+dJUjXKJtKWZM7tdgFzJ5Q= Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-43690d4605dso34028595e9.0 for ; Tue, 11 Mar 2025 06:49:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1741700978; x=1742305778; darn=kvack.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=RlZHNg9yhg3SzjB7LxxqzdvnbsuoathUQwWLXPBZZPM=; b=M/Qf/3uhdVfkDTZXGxFfHyYMmi0ZNby803xy3PIQVUX3T6tZLwTA7frYS21xx7bt7M inJ9uOwUGnIs5wfN4C1w78vVwZIShf6If+qk/I52hzRPgiUBgstsLYKpVggn50PVzPr8 8uX7SC5FFY0sgyPBycQnJnrX0Cn6+Dq2ShY1O/Q3PXqllnpJ4GJt0o8MyjxxJ/3bacOW 62Cd2D5bgxNjdweBQ/AHAYMuwETsAX4EGDMWPR8kjpGM+wJEA6IBucxNWPgEoilwHDTv uc4KS+5q+jzLDI+wcJ7ElahdYrrfKNtUQjFPIu2cFu1P+pcoa74P8ka7+yCn8DoC0PxI dWZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741700978; x=1742305778; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=RlZHNg9yhg3SzjB7LxxqzdvnbsuoathUQwWLXPBZZPM=; b=ErQXq3dRzoCtDV9sZTCgO17yChNwynixq57XWwu1EGP9qqsKKs00jSExpyjovbjxpE oZ0n+4Yb1B9Ht4hZzEEpKsjfyNa1i55KZJoz5E5ta0QoWH6nm4MQcxZKovC+0K/Uzypz CiNjfU3/rPw1eNWMeP/ffrIhw1a6GuOdQ7qY4KxtW3a23W5Rc2DsVh/6OKS6mGd24S5M T/od/S9KBoFAV8eqWKjiHBBtG5jp6vy77N/5PT5dDSWe4kW9tvw1zEhzDOZMtfYJ72QV Tau+Bo31KSOCDQir2JUput65x2JaWhtp5b8WFVqwvR4HD5eFXtfImkvhHC19MVA8IwIS 6D2w== X-Forwarded-Encrypted: i=1; AJvYcCV8Hr/LwDTePW6W0h4ZOkA4Mg03viCzz0w1P39X+9u/lKddVS9ixQIABn271T+6kfrhL0ae8pNGaw==@kvack.org X-Gm-Message-State: AOJu0YxOo/WgVAUPzCkCThhJKyVhiG3+45DVs8mX94Hee6MbMRLJO2U6 X8CaqXEZEvdjjs+kGaNkMsC7QbRBb3U5y95IB5/amzz3F7tnD+o/HdQn4UAHyPk= X-Gm-Gg: ASbGncvAk+Gpt8aR/G5tarjRK29lvxZFgfJQsZBmwrsl4lKyMYq4n7dv11wXSFBPZuA WQjxmn7CHw7Fq4suex8R8lwnYsMqIQunUk62KdoZJAbaQBkdMPj9TaaSAB3a504y6R0jvKA+kPh pgzpyWz/h24KsYPqnA1Qr6u5Ra4qpN+wdfbSZ6ThPKJ47IkjLqY4qLErbwkRWpKkoD6uc1yqsNN qzg3uohd/LQy9yajaWskompIQ3e6xznNn299W+ErEpFAWlpVJBLXhhZ5Mb4B9vP5RWfSRf1m4cE oGqh0Uwwlh3gykt7529opVxzTUI8XYLLLcb/Uy6ZrrGlFPI= X-Google-Smtp-Source: AGHT+IGO2jeFa+PgVDcTzL5RDaY9VZ8d2PFJuvU64B5OwM/B9gzkS6wcRA5JmSi8aOeqBP2HQtovEg== X-Received: by 2002:a05:600c:4708:b0:43d:10c:2f60 with SMTP id 5b1f17b1804b1-43d010c303cmr45005665e9.24.1741700977845; Tue, 11 Mar 2025 06:49:37 -0700 (PDT) Received: from blackdock.suse.cz ([193.86.92.181]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43ce8a493d0sm120392695e9.1.2025.03.11.06.49.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Mar 2025 06:49:37 -0700 (PDT) Date: Tue, 11 Mar 2025 14:49:35 +0100 From: Michal =?utf-8?Q?Koutn=C3=BD?= To: JP Kobryn Cc: tj@kernel.org, shakeel.butt@linux.dev, yosryahmed@google.com, mhocko@kernel.org, hannes@cmpxchg.org, akpm@linux-foundation.org, linux-mm@kvack.org, cgroups@vger.kernel.org, kernel-team@meta.com Subject: Re: [PATCH 0/4 v2] cgroup: separate rstat trees Message-ID: References: <20250227215543.49928-1-inwardvessel@gmail.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="3fto5w6pevkh6njs" Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: 62435140008 X-Rspamd-Server: rspam11 X-Stat-Signature: 9dzeuaoocwkke5p37fu8eundmnh43bm8 X-Rspam-User: X-HE-Tag: 1741700979-892496 X-HE-Meta: U2FsdGVkX18CNpgeiyhg1gUldIrVNcRKJ2JTr1xvCVXQGH/dZMN2e8S41LrvsZyJItL3RTuLAfcxe5bDkz6Ty4o0y+cF4xHUQmEW8ZfK+Z0NfFE+tZnHSVLo47eTeFSEMqC9BZ3kTBvXDRiWd+tciP9RaEp47n7O7d+KDsLBDGxTlg6C1LkFv+uN+WZpsxQ2hAE++YfAeU2i/G+DOKC7Ax75PsW6f/jMjEl0/5p8sJ+7dTIa24oYg7StlC9Xk5Fia080x46blAeKUyLDzHdddg5+xkF1XwKNBnyEguzYkO6+8QFNHupxhyEK+n4jH98RaXDcLQ+dcGxwl7sb+zsYp0eFw44+nRDWR9Sy1Nae/7OsshsvJDUB5Qn0KrDEWjqzDci6eAAjw2rl4iBwFAlNhqi5SaqdTsi2UY0tv7bVMWl95W5aPe0Aa9E7AW6xK24+X5i+3K5N4zBFf1k8F2uwlrMmXRV5azotQlIxGXtgjrXzK48sVMH/8+ogr7Y/KyN+iqdGFPwkLFVDhvO6emtIMmGobuudwi5rWi2AwaY/2RX7yghFR7i75Ag2xe1MnoUQkv7fHp5OjgFGkcX4UJMBrASzU8E9B6wwHCFX4zyZwwRSZOAjpP2a0531S336AOSTv3IE7/3WFnWV94QgyLjQDM1ypjVhR34Zn4PeLejrYedutP89FVKHeCYSdgdc5m8g3rtq62uHgq7DmNK90zge8dSyBgnWnR3SkCiGwjPJDft2dDTjuTbGrRhT8ynpSHXKMK1qKyaaH3+wT2CiZpcP/MB5ycfPi3XMiKm1xeBmN8PD8Gad1gqzzezD4AFpkP1xXnCLLVexBpwc8KfW6gtgtSl+QHvRtrCxiqLneQx7faqz79wsCsnkZd/b0dTM63aOIPRzjK0BP7R3BASoNBD0YTagm1hKAQSGBi3JyiLCHRKI49sSJuZx0aIyEr0lcFBg+TKDqSyrl3Lm64UV/kP 55a0kDCn 3ZU8I3ttvIc42doexiYOcdgK0+sBKPeVEa5t9pNOOistQ9mRB58HP4/XyKeyxTAYZC6X9cyfcwthGNMkdGhViKewqLuM17wxHWDVAFnYFO8ZcfIqHMXWQ3ui4q72aBJmMK0lBlNdbl0tDg6eZhOYRC0Tj4gPy2tJ1vO+cvOOSrQtjSsMgvzyyXeX6Sfjqg4KlZoW7fwtKVeLaxm+akYw3eBKk9qMKP1Zt5k1bW2fZif/Gtybrpam5iXdBjvyRgCsCFSsU6Af94T5MBnxpZ3YRjX9c/pW0r3v2iiATXy7OGxK9dDf4pehUgz0QFpX3EPxaTlVPwF66r94L63zLul7sDjti1S5cjC1PkMtkMx8OHIWhtFzVeTZjbwUhDrH9rw1kNq165lwErZt3z5oC54BNc93rZvqx9BU8oEAzBs0RTE3hzNvF7SBzDwQCYrj6UkZ/fjupGTnBfCF7lFI= 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: --3fto5w6pevkh6njs Content-Type: text/plain; protected-headers=v1; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Subject: Re: [PATCH 0/4 v2] cgroup: separate rstat trees MIME-Version: 1.0 On Wed, Mar 05, 2025 at 05:07:04PM -0800, JP Kobryn wrote: > When the entry point for flushing is reading the file memory.stat, > memory_stat_show() is called which leads to __mem_cgroup_flush_stats(). In > this function, there is an early return when (!force && !needs_flush) is > true. This opportunity to "skip" a flush is not reached when another > subsystem has initiated the flush and entry point for flushing memory is > css->css_rstat_flush(). That sounds spot on, I'd say that explains the savings observed. Could you add a note the next version along the lines like this: memcg flushing uses heuristics to optimize flushing but this is bypassed when memcg is flushed as consequence of sharing the update tree with another controller. IOW, other controllers did flushing work instead of memcg but it was inefficient (effective though). > Are you suggesting a workload with fewer threads? No, no, I only roughly wondered where the work disappeared (but I've understood it from the flushing heuristics above). > > What's the change between control vs experiment? Runnning in root cg vs > > nested? Or running without *.stat readers vs with them against the > > kernel build? > > (This clarification would likely answer my question above.) > >=20 >=20 (reordered by me, hopefully we're on the same page) before split: > workload control with no readers: > real 6m54.818s > user 117m3.122s > sys 5m4.996s > > workload control with constant readers {memory,io,cpu,cgroup}.stat: > real 6m59.468s > user 118m26.981s > sys 5m20.163s after split: > workload experiment with no readers: > real 6m54.862s > user 117m12.812s > sys 5m0.943s >=20 > workload experiment with constant readers {memory,io,cpu,cgroup}.stat: > real 6m57.031s > user 118m13.833s > sys 5m3.454s I reckon this is positive effect* of the utilized heuristics (no unnecessary flushes, therefore no unnecessary tree updates on writer side neither). *) Not statistical but it doesn't look worse. > These tests were done in a child (nested) cgroup. Were you also asking fo= r a > root vs nested experiment or were you just needing clarification on the t= est > details? No, I don't think the root vs nested would be that much interesting in this case. Thanks, Michal --3fto5w6pevkh6njs Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEABYKAB0WIQTd6mfF2PbEZnpdoAkt3Wney77BSQUCZ9A/bQAKCRAt3Wney77B SW+DAP9MRwSkgfcF2q0SYv7iwTiItXhXwvL26zMPc1X6xOaKZAEAyJDXgE4sh8ew GyN5lrwplSNM5SbTJESB9q+JxBLVBQ8= =E+84 -----END PGP SIGNATURE----- --3fto5w6pevkh6njs--