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 1C7B4E7C4E9 for ; Wed, 4 Oct 2023 18:36:26 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 517EF8D0023; Wed, 4 Oct 2023 14:36:25 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4C7908D0002; Wed, 4 Oct 2023 14:36:25 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3682B8D0023; Wed, 4 Oct 2023 14:36:25 -0400 (EDT) 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 26CC48D0002 for ; Wed, 4 Oct 2023 14:36:25 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id E6A001A041B for ; Wed, 4 Oct 2023 18:36:24 +0000 (UTC) X-FDA: 81308634288.13.1437D77 Received: from mail-qv1-f48.google.com (mail-qv1-f48.google.com [209.85.219.48]) by imf02.hostedemail.com (Postfix) with ESMTP id 01CF880015 for ; Wed, 4 Oct 2023 18:36:21 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=qnUmiwG7; spf=pass (imf02.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.219.48 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org; dmarc=pass (policy=none) header.from=cmpxchg.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1696444582; 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=7Gg36uRD0XHPP/bgzDkVeR+D5UCkWGxmhXx93AK3qDw=; b=CqebhG7hWwoehK3rRSiB3121ENe3J5tU9q2v4XvG3DyIC0wrMZ0iUsA5Fhwv98iLbVHDIC edoUgxu/0OY3qIbZ8IksTQdFixY6365hisagnIMPZ0sJs1egqbH/PApnIh5LVSUIvB8J8U l6EUCqVw5giVmzvkzNAra1iMK2YuInw= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=qnUmiwG7; spf=pass (imf02.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.219.48 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org; dmarc=pass (policy=none) header.from=cmpxchg.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1696444582; a=rsa-sha256; cv=none; b=ECIAICNY3QMuz7cNVFwxZzBbeDkycXebx9vQVkpPY+1IgdAgLkzyNhbgENjpnSP7BoiY8p iCNHn2nhx1MiAKD9X8K1XfQ1vQ1YicRe+MmCd61LP/pjUDelFotRISgcd30jeSBDJTvXKt 3ueCEJetO8aoHHf6UyJwygGB51J/hGU= Received: by mail-qv1-f48.google.com with SMTP id 6a1803df08f44-65b051a28b3so407366d6.2 for ; Wed, 04 Oct 2023 11:36:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20230601.gappssmtp.com; s=20230601; t=1696444581; x=1697049381; darn=kvack.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=7Gg36uRD0XHPP/bgzDkVeR+D5UCkWGxmhXx93AK3qDw=; b=qnUmiwG7amuw4UrzREfyOt814ABpMwAWYpErFeTVLX063nhmT0pwCopLAjQan2Hij7 jLbvZUTtyEXX/dS14SSXdDU7JjVm7YDJmEhq1Sin3YwjIcDR5jIGVcdOMdsbGkyFyvf0 /3EtBbEne/J1fy10mchTQS4OCevauwlK9XK20yVYQlWPU9qtx49MEZhjBhfbjEhgn3Tu B9xwAe7C7Q1iJh9eFB1qdam8YnJz0W/5Rs9QNE8MQez9X1E7kVMyS/vtsVIveePb0CNX GgFUILJ4PPdVZLwpaXPrn9hZqeOHww/EiGNCyPjlCqck0VMGtS+8AfjymrFqn9PDA63o jDhQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696444581; x=1697049381; h=in-reply-to:content-transfer-encoding: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=7Gg36uRD0XHPP/bgzDkVeR+D5UCkWGxmhXx93AK3qDw=; b=Rz+l9qPE1CIMbImQSp7t9VXOIMc1yEZji6nJSoHJRUfETFABi3XuKDw29JWYrke9l5 S+2W/HMvVXz4gKBJFGF9xyT1wZZzlLzADFVh/FEWM6xFbi/Mv4RBBWV17zVLXm5d18Gb iSP9WVk5SKwYVTZ84nzGYtjJ0lryRX5hy7y1EyLqpamXZfcSJ24Vl8TXHSKq4svN/pnz Huo5JqnODX1XoWsS++SOuyUu0/LrUjm24+xjhQGop6a2wXBIRw79+/1TL8hQu03WnbHE eH0DI2KmGfR+Wn7S50lsIYXmS2z74EnLLe1+pMOFhdaklOJYBGZ6+4g/Q5LzQebaU1q2 nNAg== X-Gm-Message-State: AOJu0Yxo3icWx0FUPmShX3rLsmjEIc4gjgt/3ZYQOOM3JzI9y2MoSqpo By29wzpoaLXCfIq8K2Hy8plDEw== X-Google-Smtp-Source: AGHT+IHBQhGA0082BD+A/OuAL3iNiOKc/nQ86GYtwhzU4PWCIRG8d0zxwveiQpHXLI6ZtN/kQcaDNA== X-Received: by 2002:a05:6214:14f2:b0:65b:2660:f58d with SMTP id k18-20020a05621414f200b0065b2660f58dmr2491151qvw.2.1696444581068; Wed, 04 Oct 2023 11:36:21 -0700 (PDT) Received: from localhost ([2620:10d:c091:400::5:753d]) by smtp.gmail.com with ESMTPSA id w10-20020a0cb54a000000b006655cc8f872sm1531785qvd.99.2023.10.04.11.36.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Oct 2023 11:36:20 -0700 (PDT) Date: Wed, 4 Oct 2023 14:36:19 -0400 From: Johannes Weiner To: Michal =?iso-8859-1?Q?Koutn=FD?= Cc: Yosry Ahmed , Andrew Morton , Shakeel Butt , Michal Hocko , Roman Gushchin , Muchun Song , linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2 1/2] mm: memcg: refactor page state unit helpers Message-ID: <20231004183619.GB39112@cmpxchg.org> References: <20230922175741.635002-1-yosryahmed@google.com> <20230922175741.635002-2-yosryahmed@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Rspamd-Queue-Id: 01CF880015 X-Rspam-User: X-Stat-Signature: cknjrcujkk3bfdr64p8md3u3hf3airgu X-Rspamd-Server: rspam01 X-HE-Tag: 1696444581-340290 X-HE-Meta: U2FsdGVkX194+vLXcbpXfVJUWl0pSONjZrNWzjv9uoQ3dMjN+gimco9WQfWBhk2Ng20Lahc9g3KsK7/1p4xqzNqToTH42oE/roBNZGsfmh4c5l7Fpe0LLfCgmJ0il3C+pwAE2pjVHu84+gYaF+Yf81dBf9ILp78UIxTmJrRRdtZzg1AfdaxFBVj82W53bkLQvGxpNegdiUuNJ+s3diVwRyKNkHEI3Us2VJeujaHD1EyaiX6dkHpDJARYgKryAqs5jzUKOlVii8qn6WTGe3O03kRFnDQyQR014weUG+vahXuifVvPGoOC5r7kkE3lveIF+QFoPvSHXQQijUXhzgietxbS9gBW3EYsZxPEbr4qjrO37SlIRGq+yOpUigOnMHKTFiRIqlPC2VowmFgaB26AIwhuTwPNq4eF2rmHGFgzIHdvFZ+FgNyrCnuRpRVzlI4U2nAm83AMZk5+5fsFjojUioLyAEE28D8B5tV6u70NBdE9ggxpQS9mi2JRMz3iL0ufwlPdNAc1boRgCPnaaWAbEOQrYj/+fhZz0+n6xjKu1XzAI3Q4LBZN8SDX3sS30867T2aVbmnhFuPrOnh7WrOxlqgCFjjEdLkjmog3bvyWR/rxj1xaco6MkGvJKgnZHoJh1mQf5GipdzDo52e0UlfuHYrouT8uPHFMnaeezWtBIAG/ouYXJwNCCDtsfNKLnBjeA6nRuPOMsHMRnXFmluKFOtrLs3mRs93Ht1m25fgYygfs87MWt5U5z1Ofa6YbLRubRy4Xk6WYmHwxR8Owhv0sJr+Plvckm8r/kmkhWYDfgtSpMshEPFUkFCGCcBKJq8thSF61n6c6ublYMG/Vuty/ftM+RYdRNAbtRMWu22C2BbZ+qMHfWVZXEZZxELBngKzuRA2hJpvsXjheEUTVp5mD0VDMesYQgtrtmhVV7Ti2Sdv82VRac48DxQORSp9mlqOr/282w/o2wTPo/jhhHuu wPuZ5I5X WzRPrVnuqaR9ji7uOP8BmhVHRMQ1ebtOwpE/rrp1NJS5MfjjaB2FE7t6zi96lxCbcKN74xUieWfx5hNVN0wTLfCEDg+LgJeqLie0SoOqyuDbjFDBL+ks7p741mcO5JePmHWdH2OiP8DAeZhkSp5/pR4Vc3tsfEc3hfO8ybWdJfdYlc9Z/NOlbPz5/3jqbJJowog1GyfME9QH9z2kYvTxVHhQIujqhljPZtn/rRFFYUy4dYrWjKzFFl53ADfqB5yAYtGOrfBmC2UDmiEKD8N4Cb36SgE6Wpa4xLTZ7mOMs8C6XAunZmPy2VOn5axyWwdRYfdmGUTmTQmD9ifgTlC9OY0UTmQUnybJYPIsoiu4ztIm5YgjYyrc7KLMIZ44G6cScy94DnfqFF3HltFFaHji2cdX7XXko1olE6IJrouuZGJ4Ymb92YgaCi9ryLFBrYbxwSwCW 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: On Wed, Oct 04, 2023 at 11:02:11AM +0200, Michal Koutný wrote: > On Tue, Oct 03, 2023 at 12:47:25PM -0700, Yosry Ahmed wrote: > > Those constants are shared with code outside of memcg, namely enum > > node_stat_item and enum vm_event_item, and IIUC they are used > > differently outside of memcg. Did I miss something? > > The difference is not big, e.g. > mod_lruvec_state(lruvec, WORKINGSET_ACTIVATE_BASE + type, delta); > could be > __count_memcg_events( > container_of(lruvec, struct mem_cgroup_per_node, lruvec)->memcg, > WORKINGSET_ACTIVATE_BASE + type, delta > ); > > Yes, it would mean transferring WORKINGSET_* items from enum > node_stat_item to enum vm_event_item. > IOW, I don't know what is the effective difference between > mod_memcg_lruvec_state() and count_memcg_events(). > Is it per-memcg vs per-memcg-per-node resolution? Yes, it's because of node resolution which event counters generally don't have. Some of the refault events influence node-local reclaim decisions, see mm/vmscan.c::snapshot_refaults(). There are a few other event counters in the stat array that people thought would be useful to have split out in /sys/devices/system/node/nodeN/vmstat to understand numa behavior better. It's a bit messy. Some events would be useful to move to 'stats' for the numa awareness, such as the allocator stats and reclaim activity. Some events would be useful to move to 'stats' for the numa awareness, but don't have the zone resolution required by them, such as kswapd/kcompactd wakeups. Some events aren't numa specific, such as oom kills, drop_pagecache.