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 E7FCCCDB483 for ; Wed, 18 Oct 2023 19:59:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 37F7F8D016A; Wed, 18 Oct 2023 15:59:25 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 308D98D0016; Wed, 18 Oct 2023 15:59:25 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 182998D016A; Wed, 18 Oct 2023 15:59:25 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 06F7C8D0016 for ; Wed, 18 Oct 2023 15:59:25 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id AB527C04E0 for ; Wed, 18 Oct 2023 19:59:24 +0000 (UTC) X-FDA: 81359646648.09.A86E63F Received: from mail-lj1-f172.google.com (mail-lj1-f172.google.com [209.85.208.172]) by imf26.hostedemail.com (Postfix) with ESMTP id CDBFF140015 for ; Wed, 18 Oct 2023 19:59:22 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=4q0mjDce; spf=pass (imf26.hostedemail.com: domain of tjmercier@google.com designates 209.85.208.172 as permitted sender) smtp.mailfrom=tjmercier@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1697659162; 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=+zmqcE2MrSI+P6n0BrJLpbbDNn5j/j93ikaoJl73i9c=; b=Tu/eGr7I3C9uTPOuDbb1LqVZKQERO+LLPFKVxv9cXnt51/WGodMt+JHR321tyT1sJMR2Gc YDyfrKbh55N6+Bi9ZtbgwbIQCzuscQORAX9wmDqhMGtY6MI01j1TPeSjZNjy2tmK9w/Yut CUk5Z7A8AtfNKUOidpDZnoRMXDj5WZ4= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=4q0mjDce; spf=pass (imf26.hostedemail.com: domain of tjmercier@google.com designates 209.85.208.172 as permitted sender) smtp.mailfrom=tjmercier@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1697659162; a=rsa-sha256; cv=none; b=cnOLN9Kmp7g8x35DQo35ewAm4OmdG+xPd5+uUEqpHpFcpOYft8VHVR+ttyjMSZzkJjrLci uK39HEaHyRFetwZRzsmxudZkJH1Uteg01buabGtQmWe9Zwp3n0CSPVBv4P4uRCPNxQvMxu gBzYWEUg0VCxe8up+G0VuBa5xDDrWkg= Received: by mail-lj1-f172.google.com with SMTP id 38308e7fff4ca-2c51388ccebso63734391fa.3 for ; Wed, 18 Oct 2023 12:59:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1697659161; x=1698263961; 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=+zmqcE2MrSI+P6n0BrJLpbbDNn5j/j93ikaoJl73i9c=; b=4q0mjDceU9VWmxD8W3zKXD58r/Oqz4J5cnPD0ywKA+kcYRvMijoiGRavxLUDaaNDUB 6J5J6BdB+F3UmoC1CfVmNXwv7sG7LFb9MW5zwQodOHmEVvwLU2yLZKJlETajlEprP6aR r68hztPvom9sFkpEFqfvQPZQLyb1mGKlgosm9XuCNuefjfoi962+3s+uIT2SPh09c6Gr tIiY9W8U1V8hh+BP8poqgd2wHYDe0XaOUXx/rHy0Y4VaVFyFPcChOBewUh/ob3TaYRGI lBuuKIvbfIICwVoOp94asvpfEIDv1oTQ9hfm2mwXw3NWea4q9Txy2Gjyd9qDNEy7prQb nNfQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697659161; x=1698263961; 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=+zmqcE2MrSI+P6n0BrJLpbbDNn5j/j93ikaoJl73i9c=; b=q/d0csSkT+SZAbtfOX2yZPRS6pCuVF0sGhgsSxtmomLubOV3vAMY8iUaiUSPYvNmyW XLPOIYNtSmtwG9CemG3rCh07VD9pV3Go11ImsRqFaW/lQ8W4Q4EsOTkYb+t24/1sPVQ6 zJHGgb4j4mvQ1dCJGDxNq/tjj1/ukOJ3h+jnYXOtg9ib/kkk7dt8wdctPRhj7QyR1Dn6 Pk0axKd9NbA3nkSOElUMp4CqgkmJZmXlm3Om9B51hznk00iusKvfl9lDbYhUdnJEiFuY 4QL5tJj9E1Z/K8S3/NsshfWsI0cDXZ0eTA1llAp67PjSKSkUzp8G/Bm9Dauy64MDbSZ4 Xmdw== X-Gm-Message-State: AOJu0YwCwYyyqXvA7ux5r7qWv5rRv4r3GTuxIu+F4k3fPv6CeYnT6fiH NxpM30Z5ZQeDSKQRTTGw0ZdvujTg6sHr0tsOguW3Pw== X-Google-Smtp-Source: AGHT+IEaVYBfwkN+IG2AsUcOdDMYCvY+mbTLP2xTDnPsvcfD3qYh5slUhYzSqQhpt1osYqaB3agSYj1p7yvRbhV0uBI= X-Received: by 2002:ac2:53ad:0:b0:503:55c:7999 with SMTP id j13-20020ac253ad000000b00503055c7999mr23973lfh.34.1697659160478; Wed, 18 Oct 2023 12:59:20 -0700 (PDT) MIME-Version: 1.0 References: <20231009025726.5982-1-link@vivo.com> In-Reply-To: From: "T.J. Mercier" Date: Wed, 18 Oct 2023 12:59:07 -0700 Message-ID: Subject: Re: [PATCH 0/3 RESEND] Per memcg lru_gen node stat To: Yu Zhao Cc: Huan Yang , Jonathan Corbet , Andrew Morton , Johannes Weiner , Michal Hocko , Roman Gushchin , Shakeel Butt , Muchun Song , Peter Xu , David Hildenbrand , "T.J. Alumbaugh" , Axel Rasmussen , Ryan Roberts , Kefeng Wang , Suren Baghdasaryan , "open list:DOCUMENTATION" , open list , "open list:MEMORY MANAGEMENT" , "open list:CONTROL GROUP - MEMORY RESOURCE CONTROLLER (MEMCG)" , opensource.kernel@vivo.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: CDBFF140015 X-Rspam-User: X-Stat-Signature: ma8rcygxau3w3fxbemo5pytdwuf4r3oo X-Rspamd-Server: rspam01 X-HE-Tag: 1697659162-857375 X-HE-Meta: U2FsdGVkX18WXTGix6wzPmzjhPV67lwUK5q0sHFo33H7JrPHLlGVD1qTbWJyumokEHxG6YFjEVXxb9GppeoyTY+aUengsefOd8f9hmK9aKPwXyOylUNLFJYz/SG+rsT3dR8gVj0dwZZmb2Lb5mj8FAQknAHfvdm2EyfVlikJSgVTAU8uGZd/NLTPBfTo6/VSM5p8PC54RNgLRmisRfw09bpaDOFrc9cF7nk0qo0QE2wbcNvRdhfjggTMGi7edN4yF6iMnjsOQPbqUz1+X3BP/28XWZFhd3p6a091jfrt+lyqGVb6fabJSle32m/DHSqj3Fh5bmF86ykafwKysSRtte8q7YU8muQwwdv3gtirkyttb1f2W5/GYJXKBolE1fRl1fey+Nn/RFgCUSRaZq3+8g0pI3u0RiOZLFp5JgpmY7lgtEOzKDDmpNynb0OFezdI2a3Wah4lnP47OsCU9AVt34qQ/waCTJWhL7fEq4IknRP/E3S7eWyM9L9m/9TkJ+B68Yi4Vn9FdBtBLBeeXXSm1cDNubUfK5wd+cvULMMv9mzCWIIK0rzGy1NXtn0FFAz1wZnd/oQq1/7UqmlqYUWGPYzilhQaXZWzOdGyFM0SYhiaOpz02xbVYDuA5rZongkZc7QFGHgbu5Lfslp7n+HJMEuur5nIBsBV0VpzkzYDIyvFt9zc1BCyz7f+51vg+UDpU6ftpNSM7btLv/IJKwvDEeXSigba4s7gkAklDIFwFcQFUx8PURUAkvUe0Hg8zIKn09muC7KPf3ahl0h+TBrpLM0TxQFoT9L51w5OSsrEUYmqgoRDl8ygZL/YXD+H+nxQa01NBce5l/XwpqYltg8PY7+qLbbIpyVcijByjaOWgVZ/mgYbmsm9q2yl9JtsTIMAGUMel8nuBoifcBaU+mUDnIqoxKLy31G+xKPXLq1Q35dIRfMqwuQiJyXFJ0J4zEOEIcTBCANgsE4Wo+ogCO6 xnbHhX2L RnwK5lLPZB6numXJZUYnhkJeCN8phXlnvko99Ydfq0gZtMpirb6Zvzt+9GN4j+w+w6bm+QYI16l9pkZ+p2uXXMmmPsEDN/Z6bW1xJ/fESC9F/9SGMcjHYhPUKCwNfZ0yAkLEOL8rCtSMYm8i6lxyufFj2Ou1HhafaBC4G1NHIKhquUEgIplHX5UNy6Pv2EE0FC9dwncVWWBjVQ6Xm4VR12DmoFXYQrRAwca2sY+6F4IdyBc4bS85wiIpHdKRY+lliJredwlU48yC6Dqh8/T2Ak7xi7mnfj2jHiUoXKHlVNKwPM6NkqxEsVbC+kqUW0WpDm5C69XZ+0mO0fm0/Z+5V9opbVqOK0NvXvL2SkE5bwRtwXzU= 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 18, 2023 at 9:34=E2=80=AFAM Yu Zhao wrote: > > On Sun, Oct 8, 2023 at 8:57=E2=80=AFPM Huan Yang wrote: > > > > On original global lru_gen node in debugfs, it can all show each memcg'= s > > lru gen info in "lru_gen" or "lru_gen_full", and can type cmd into lru_= gen. > > But which show info contains all memcg's info, and cmd need to > > know memcg's id. > > > > This patchset add lru_gen node in per memcg, with this node, we can > > get lru_gen info in each memcg. > > Also, we can type cmd to control each memcg's lru_gen seq, but, this no= de > > don't support multi cmd, single memcg just process one cmd once time. > > Adding TJ from the Android team. (The other TJ you CC'ed is from the > ChromeOS team.) > > This series introduced a new ABI, which has to be maintained forever. > How exactly would it be used in *production*? > > Android doesn't officially support memcgs. So I want to understand the > real-world use cases first. Not sure how Android came up but I'm happy to chat. We want to turn on memcg v2 for Android but I'm currently working through perf impacts before that happens. Android can't use debugfs in production, but I think we'd prefer to use memory.reclaim for eviction anyway because it respects memcg limits and reclaims from slab. So maybe it's possible to add just aging functionality specific to MGLRU? It'd be nice to know how you're going to use the aging, or why you want this version of eviction instead of what memory.reclaim does.