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 B89F8C83F05 for ; Thu, 3 Jul 2025 05:43:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0E7466B00C6; Thu, 3 Jul 2025 01:43:54 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 098CD6B00DB; Thu, 3 Jul 2025 01:43:54 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EEFF16B00F0; Thu, 3 Jul 2025 01:43:53 -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 DDA216B00C6 for ; Thu, 3 Jul 2025 01:43:53 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 7051B1D83D8 for ; Thu, 3 Jul 2025 05:43:53 +0000 (UTC) X-FDA: 83621861946.29.609105B Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf11.hostedemail.com (Postfix) with ESMTP id E2F5A40012 for ; Thu, 3 Jul 2025 05:43:50 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=LJbl5+Fl; spf=pass (imf11.hostedemail.com: domain of airlied@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=airlied@redhat.com; dmarc=pass (policy=quarantine) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1751521431; 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=kKaZ5viri1/pmq8riVmTFfqdXVoy25LpivCg58yqOOo=; b=VqKFNHT1lJ9P+tbhp5RGzJDhhLPWJ1jmcNlfyVbDJL7Tu4eOfXPfgtobdkyIH/h7tdx9BK j2Z3uzswtertY6HYxWzGQAA8IkoR+3dGwYOSfUW3yl/FDjzCwuwgTcEC7kNPyisYQHRZ3t kASjjLVgdrHufpEQEmvsnwH63+zNxro= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=LJbl5+Fl; spf=pass (imf11.hostedemail.com: domain of airlied@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=airlied@redhat.com; dmarc=pass (policy=quarantine) header.from=redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1751521431; a=rsa-sha256; cv=none; b=2Jd4OMJkPRnMURkkVAs+bZ83gjA4qqJTfMnfyANfOfIzgjwuM92VObczqN/RYGDjGZeBvi bbr3q+a++i0iC7yVPWtdlQ0HP255iX0Il3VDuC44wv/zqzRNHW434gb0UtaNGtYvopZ7FQ nCFdTPIAY1ACSK2PAaxqPnm+sbW4HzE= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1751521430; h=from:from: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; bh=kKaZ5viri1/pmq8riVmTFfqdXVoy25LpivCg58yqOOo=; b=LJbl5+FlyurjNQoYySGNxxv0TcqIZl+E79d5bEqZ+57be+FtMOzTY4twBKMmuzNr6ePilY eTddT4QwrnnBbB0iCq8GYrsczjG6pN0EHMW3s58QW5ik0uIsaC3/pQi/P88baPjaAEvGqk eiNPQvlmlVx9GCmOKsnbzIUoOoe95dk= Received: from mail-pj1-f70.google.com (mail-pj1-f70.google.com [209.85.216.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-59-9tHC7CrfNH2_bPyADQgQTw-1; Thu, 03 Jul 2025 01:43:49 -0400 X-MC-Unique: 9tHC7CrfNH2_bPyADQgQTw-1 X-Mimecast-MFC-AGG-ID: 9tHC7CrfNH2_bPyADQgQTw_1751521428 Received: by mail-pj1-f70.google.com with SMTP id 98e67ed59e1d1-31202bbaafaso5409724a91.1 for ; Wed, 02 Jul 2025 22:43:49 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751521427; x=1752126227; 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=kKaZ5viri1/pmq8riVmTFfqdXVoy25LpivCg58yqOOo=; b=RqriM5r/9ZBCpMiM4jCrZXDdpfLpugtt3EMGX0WVw4zWg6EqiSXuXXtrZwt44+S9c1 OzHMNBpBqAibu67PDFYzQZNbiyg17VRGcqMgHqrAGau/SKJZAmMa0H6EAbcTzhcL2Tl5 VFJE1k4ebDpBUPuFVIORV4RufzUFFDYJgjkNAFlAQcfd0pktaw31HOqPl4GvJdHQDIVJ CeDLuXY/3IjnXpjaS4u9c0ITVx6lCIO7zF9wr5qhYq6wP+zNww/RC/g94dvLPQ4+UU7D c2twE7spKskda6zglwlZxyTRdAm7AouLJM1C5DUcrjd1B/NHv3eIB/kzmU4yhQVeh9hQ earQ== X-Forwarded-Encrypted: i=1; AJvYcCVWi1PhfkDb96mhgWk4dumi0Lm7q2b6uX0Tg2a00M2b9k9l6b6YVAS3UnJUImxT1nYQK4ooRcsC2A==@kvack.org X-Gm-Message-State: AOJu0YwQ7Jk/ieIfm+jqYUS+ANBkEGzYFJSi/aEpfOaRH8J9X466lvpV JwIJp6Uqp5PFhnQV9yZQ/WSfDjm/ZcmMhuFP9T2o4AV3mwMqqiO+Lh/UCh8TRNjtwocicKq1jKF ks7VAjDnr6PtZ0/Ee/xJHNPNdauKlu5VHNkpIENbjvQszhSuXcb8Ten/hHobLS51PfRwIP0NSC1 DWVmyePKEeLcTuntOUY6BQz2sfIHC9U90DxkkUaA== X-Gm-Gg: ASbGncsFCzw6PsZrrFqv4KjwFOuxorjiC13lDhCJev8+vV5zzRKjzHOOuaJFZhGVkj2 4Etg8VJDyfU2xqzlxIwzDNPQ1Yahlc7kXmsAK4qIxbh39kx1u4FlFCWy4k8fNCUA124wMELl8rR u3gg== X-Received: by 2002:a17:90b:58c8:b0:312:ffdc:42b2 with SMTP id 98e67ed59e1d1-31a90bef1ebmr6758372a91.23.1751521427403; Wed, 02 Jul 2025 22:43:47 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHNsNNeUhmCJU5v4NOb3SgJID6VMCS7g+2prUcFjlNHum/299MbqRloAN44Kj54IR57+Xk5Lsz5JmEa9QqBrsI= X-Received: by 2002:a17:90b:58c8:b0:312:ffdc:42b2 with SMTP id 98e67ed59e1d1-31a90bef1ebmr6758357a91.23.1751521427059; Wed, 02 Jul 2025 22:43:47 -0700 (PDT) MIME-Version: 1.0 References: <20250630045005.1337339-1-airlied@gmail.com> <20250630045005.1337339-9-airlied@gmail.com> In-Reply-To: From: David Airlie Date: Thu, 3 Jul 2025 15:43:35 +1000 X-Gm-Features: Ac12FXzaZE0LM44seaQchGs9qGCjGmZ1Sx3Me9vakIm7o5BNxnCpdZzclz6bX1Y Message-ID: Subject: Re: [PATCH 08/17] memcg: add support for GPU page counters. To: Shakeel Butt Cc: Dave Airlie , dri-devel@lists.freedesktop.org, linux-mm@kvack.org, Johannes Weiner , Christian Koenig , Dave Chinner , Kairui Song X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: u-624XN7QvGT4KSDiFQfPDO-Q0a3qL_8XeNeQ-HLtHI_1751521428 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: E2F5A40012 X-Stat-Signature: f6zbfx7wi1m6sj8kbu7hd88yfb91ik63 X-HE-Tag: 1751521430-355592 X-HE-Meta: U2FsdGVkX19s/q0xvudF+4DsciqSI5hx64w+lJpYGWYVD4cPA2ODhJx/Vl8/tX4jgHzwi9jwKzigdnVAT89rQMQyTJGVTLKyJBszf++yaHV/dr5uIZOiic0UVzsTXsa/o+yvCN8cbsErwwn+AjgjDOEOMZ68PYLP1ICM5Ap87m9+8qveY0LkqoDOIpathQQ/0VDVsIpX3d/LnJlwL55U20xe+OMmt/vsOC8uDy8LVqEO0SDsyoxv6bKA7bNshXIXfXnuqXYqR8AtU51anGiks5riPCLJfj0YDL/iaxei6WBzSmyfcEKSPVTk/7AnszADZ9K7egnlW/CD7ZMrmeeHxsZO7my1YS2xHzxWWxvvcXMZPCiS76Y5jDR4HnKWz5wSiprK164yxpJB2H7FK0ijosQTMb79DWYQyTS420oNBjF/I583VVskK7ga0WvcnJwQnvBuJvrWu+gmMU3/ecbeleGU9d7eCk0UiXMw5fY58eJkJVhgNfy3JnFwcymr0nra2RhEHSWKLdYqa62MyndJl5IDUncxjojBPK9U0aON+blsVrzdey0F/sDyO4nKDYmM2ILKrlat5bbI41fx5dFgaV9Yq1IkR0tu5bXoZ8uSs4Lv6vLS0kVUFf/vibH3Q/ZTVJlt/Oq23tOEk/V80dwHPgkFVfd0anI7RPD3MU6lpkzaaw4eRwiS/ifhShFa49UEFZu8fHW1W1DWUGXqiyCDNu1ieQJJz5eX3KQ3KM8jSfA/uYEcn87B2Fl2cTe9a6XTObByyqugNTZ4MYioS5A512/46B2ji0LgxsL8GSt8JE3foW3S/x39p6hmyE6NzazvbsS9eHtaQQOyo8XO1NswdK+9J/BlwLg/OR/ZdoAro+TyuDaRB0fDtpaYvMI4+sywWJ7xTshUFCO3EoxQcofiCnDVoBm8smm5kpujlgyAjutuybyLIfVvDMGkmuyeb9mcSqX2sHLFjTghFlb3jAN UrW9J8nV iOKagdbBA89JQ30iV+S/ZbEHib6iiLECeu3vHNSstPvEv4eur/pVdadEbSzHjaOXRNKyGS9SK72s8EEe28+Jp7jTd4wz+a8G2sUGC2PuKztBbf/y1dkVHFmH/8XKFG26jemj2UHCYBHz5htQiH3ACAKLJBYW36YV+TmAuuBlYkuTMLgybRI+b1U6+Wvx5VvdigW9SPVhKYcwb0Nnl2N9VfbX6dE32c2bS8yiVHyH2ZPzImDnDxvvaVKsBa1iKU3Mm4vy1owQ4y7z2m7LG9Wk7TI7I89wAyjiEK86DqweBnfDQ00v2sT/Kz69GLQ== 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, Jul 3, 2025 at 2:06=E2=80=AFAM Shakeel Butt wrote: > > On Mon, Jun 30, 2025 at 02:49:27PM +1000, Dave Airlie wrote: > > From: Dave Airlie > > > > This introduces 2 new statistics and 3 new memcontrol APIs for dealing > > with GPU system memory allocations. > > > > The stats corresponds to the same stats in the global vmstat, > > for number of active GPU pages, and number of pages in pools that > > can be reclaimed. > > > > The first API charges a order of pages to a objcg, and sets > > the objcg on the pages like kmem does, and updates the active/reclaim > > statistic. > > > > The second API uncharges a page from the obj cgroup it is currently cha= rged > > to. > > > > The third API allows moving a page to/from reclaim and between obj cgro= ups. > > When pages are added to the pool lru, this just updates accounting. > > When pages are being removed from a pool lru, they can be taken from > > the parent objcg so this allows them to be uncharged from there and tra= nsferred > > to a new child objcg. > > > > Signed-off-by: Dave Airlie > > --- > > Documentation/admin-guide/cgroup-v2.rst | 6 ++ > > include/linux/memcontrol.h | 14 +++ > > mm/memcontrol.c | 110 ++++++++++++++++++++++++ > > 3 files changed, 130 insertions(+) > > > > diff --git a/Documentation/admin-guide/cgroup-v2.rst b/Documentation/ad= min-guide/cgroup-v2.rst > > index 0cc35a14afbe..d6f057c4fe2e 100644 > > --- a/Documentation/admin-guide/cgroup-v2.rst > > +++ b/Documentation/admin-guide/cgroup-v2.rst > > @@ -1542,6 +1542,12 @@ The following nested keys are defined. > > vmalloc (npn) > > Amount of memory used for vmap backed memory. > > > > + gpu (npn) > > + Amount of system memory used for GPU devices. > > + > > + gpu_reclaim (npn) > > + Amount of system memory cached for GPU devices. > > + > > shmem > > Amount of cached filesystem data that is swap-backed, > > such as tmpfs, shm segments, shared anonymous mmap()s > > diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h > > index 87b6688f124a..ff82d603910d 100644 > > --- a/include/linux/memcontrol.h > > +++ b/include/linux/memcontrol.h > > @@ -36,6 +36,8 @@ enum memcg_stat_item { > > MEMCG_SOCK, > > MEMCG_PERCPU_B, > > MEMCG_VMALLOC, > > + MEMCG_GPU, > > + MEMCG_GPU_RECLAIM, > > You already added node level counters i.e. GPUActive & GPUReclaim, just > use those instead of these. Add them to memcg_node_stat_items[]. > Thanks for the pointer, yes I did mess that up, I've rewrote it locally today and it makes more sense now. Dave.