linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: David Airlie <airlied@redhat.com>
To: Shakeel Butt <shakeel.butt@linux.dev>
Cc: Dave Airlie <airlied@gmail.com>,
	dri-devel@lists.freedesktop.org, linux-mm@kvack.org,
	 Johannes Weiner <hannes@cmpxchg.org>,
	Christian Koenig <christian.koenig@amd.com>,
	 Dave Chinner <david@fromorbit.com>,
	Kairui Song <kasong@tencent.com>
Subject: Re: [PATCH 17/17] amdgpu: add support for memory cgroups
Date: Thu, 3 Jul 2025 12:53:44 +1000	[thread overview]
Message-ID: <CAMwc25rPTiTshBMvHeGr=8kwC+MJdSA=UdKucybTwSxbuWvk4A@mail.gmail.com> (raw)
In-Reply-To: <wejb2ykaltp5gtufrzz3mwp43hrxugzuubclt4amrpr4koznan@cb7dfmnvik6a>

On Thu, Jul 3, 2025 at 2:03 AM Shakeel Butt <shakeel.butt@linux.dev> wrote:
>
> On Mon, Jun 30, 2025 at 02:49:36PM +1000, Dave Airlie wrote:
> > From: Dave Airlie <airlied@redhat.com>
> >
> > This adds support for adding a obj cgroup to a buffer object,
> > and passing in the placement flags to make sure it's accounted
> > properly.
> >
> > Signed-off-by: Dave Airlie <airlied@redhat.com>
> > ---
> >  drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c    |  2 ++
> >  drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 13 +++++++++----
> >  drivers/gpu/drm/amd/amdgpu/amdgpu_object.h |  1 +
> >  drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c    |  2 ++
> >  4 files changed, 14 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
> > index e5e33a68d935..d250183bab03 100644
> > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
> > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
> > @@ -198,6 +198,7 @@ static void amdgpu_gem_object_free(struct drm_gem_object *gobj)
> >       struct amdgpu_bo *aobj = gem_to_amdgpu_bo(gobj);
> >
> >       amdgpu_hmm_unregister(aobj);
> > +     obj_cgroup_put(aobj->tbo.objcg);
> >       ttm_bo_put(&aobj->tbo);
> >  }
> >
> > @@ -225,6 +226,7 @@ int amdgpu_gem_object_create(struct amdgpu_device *adev, unsigned long size,
> >       bp.domain = initial_domain;
> >       bp.bo_ptr_size = sizeof(struct amdgpu_bo);
> >       bp.xcp_id_plus1 = xcp_id_plus1;
> > +     bp.objcg = get_obj_cgroup_from_current();
>
> In what context this function is called? Is that the same for
> ttm_pool_alloc_page()? Is remote charging happening in
> ttm_pool_alloc_page()?
>

No, this function is called from userspace ioctl paths that allocate
GPU objects (GEM objects).

The objects are lazily allocated, so this might not trigger any pages
being bound to the object, until it is populated, either via mapping +
page faults or by being used in a GPU command submission, which is
when the ttm_pool_alloc_page happens.

Dave.



  reply	other threads:[~2025-07-03  2:54 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-30  4:49 drm/ttm/memcg/lru: enable memcg tracking for ttm and amdgpu driver Dave Airlie
2025-06-30  4:49 ` [PATCH 01/17] mm: add gpu active/reclaim per-node stat counters (v2) Dave Airlie
2025-06-30  4:49 ` [PATCH 02/17] drm/ttm: use gpu mm stats to track gpu memory allocations. (v2) Dave Airlie
2025-06-30 10:04   ` Christian König
2025-07-01  1:41     ` David Airlie
2025-07-02 16:08   ` Shakeel Butt
2025-06-30  4:49 ` [PATCH 03/17] mm/list_lru: export list_lru_add Dave Airlie
2025-06-30  4:49 ` [PATCH 04/17] ttm/pool: port to list_lru. (v2) Dave Airlie
2025-06-30 10:37   ` kernel test robot
2025-06-30  4:49 ` [PATCH 05/17] ttm/pool: drop numa specific pools Dave Airlie
2025-06-30 10:12   ` Christian König
2025-06-30  4:49 ` [PATCH 06/17] ttm/pool: make pool shrinker NUMA aware Dave Airlie
2025-06-30 10:15   ` Christian König
2025-06-30 21:30     ` David Airlie
2025-06-30  4:49 ` [PATCH 07/17] ttm/pool: track allocated_pages per numa node Dave Airlie
2025-06-30  4:49 ` [PATCH 08/17] memcg: add support for GPU page counters Dave Airlie
2025-07-02 16:06   ` Shakeel Butt
2025-07-03  5:43     ` David Airlie
2025-06-30  4:49 ` [PATCH 09/17] memcg: export memcg_list_lru_alloc Dave Airlie
2025-06-30  4:49 ` [PATCH 10/17] ttm: add a memcg accounting flag to the alloc/populate APIs Dave Airlie
2025-06-30  9:56   ` kernel test robot
2025-06-30 10:20   ` Christian König
2025-07-01  1:46     ` David Airlie
2025-06-30  4:49 ` [PATCH 11/17] ttm/pool: initialise the shrinker earlier Dave Airlie
2025-06-30  4:49 ` [PATCH 12/17] ttm: add objcg pointer to bo and tt Dave Airlie
2025-06-30 10:24   ` Christian König
2025-06-30 21:33     ` David Airlie
2025-07-01  7:22       ` Christian König
2025-07-01  8:06         ` David Airlie
2025-07-01  8:15           ` Christian König
2025-07-01 22:11             ` David Airlie
2025-07-02  7:27               ` Christian König
2025-07-02  7:57                 ` David Airlie
2025-07-02  8:24                   ` Christian König
2025-07-03  5:53                     ` David Airlie
2025-06-30  4:49 ` [PATCH 13/17] ttm/pool: enable memcg tracking and shrinker Dave Airlie
2025-06-30 10:23   ` Christian König
2025-06-30 21:23     ` David Airlie
2025-06-30 11:59   ` kernel test robot
2025-07-02 16:41   ` Shakeel Butt
2025-06-30  4:49 ` [PATCH 14/17] ttm: hook up memcg placement flags Dave Airlie
2025-06-30  4:49 ` [PATCH 15/17] memcontrol: allow objcg api when memcg is config off Dave Airlie
2025-06-30  4:49 ` [PATCH 16/17] memcontrol: export current_obj_cgroup Dave Airlie
2025-06-30  4:49 ` [PATCH 17/17] amdgpu: add support for memory cgroups Dave Airlie
2025-07-02 16:02   ` Shakeel Butt
2025-07-03  2:53     ` David Airlie [this message]
2025-07-03 17:58       ` Shakeel Butt
2025-07-03 18:15         ` Christian König
2025-07-03 20:06           ` Shakeel Butt
2025-07-03 21:22             ` David Airlie
2025-07-04  9:39               ` Christian König
2025-07-01 23:26 ` drm/ttm/memcg/lru: enable memcg tracking for ttm and amdgpu driver Balbir Singh

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAMwc25rPTiTshBMvHeGr=8kwC+MJdSA=UdKucybTwSxbuWvk4A@mail.gmail.com' \
    --to=airlied@redhat.com \
    --cc=airlied@gmail.com \
    --cc=christian.koenig@amd.com \
    --cc=david@fromorbit.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=hannes@cmpxchg.org \
    --cc=kasong@tencent.com \
    --cc=linux-mm@kvack.org \
    --cc=shakeel.butt@linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).