mbox series

[PULL] dmem cgroup

Message ID 20250106-shaggy-solid-dogfish-e88ebc@houat (mailing list archive)
State New
Headers show
Series [PULL] dmem cgroup | expand

Pull-request

git://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux.git cgroup-dmem-drm

Message

Maxime Ripard Jan. 6, 2025, 4:49 p.m. UTC
Hi,

Here's a drm-next PR for the new "dmem" cgroup Maarten and I worked on.
Given that it's only user for now is DRM, Tejun agreed to merge it
through DRM.

This is based on the series sent by Maarten here:
https://lore.kernel.org/all/20241204134410.1161769-1-dev@lankhorst.se/

The three last patches are not part of it, for different reasons:

  - patch 5: we haven't had the acks from the amdgpu maintainers
  - patch 6: I didn't feel comfortable merging a patch defined as a "hack"
  - patch 7: it's not clear yet how GEM is going to be supported, so we
    need to have further discussion on this one.

Thanks!
Maxime

The following changes since commit 9d89551994a430b50c4fffcb1e617a057fa76e20:

  Linux 6.13-rc6 (2025-01-05 14:13:40 -0800)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux.git cgroup-dmem-drm

for you to fetch changes up to aa4f9d7f77836d5a48daaa99479c2603e9a548ed:

  drm/xe: Implement cgroup for vram (2025-01-06 17:25:36 +0100)

----------------------------------------------------------------
Maarten Lankhorst (3):
      kernel/cgroup: Add "dmem" memory accounting cgroup
      drm/ttm: Handle cgroup based eviction in TTM
      drm/xe: Implement cgroup for vram

Maxime Ripard (1):
      drm/drv: Add drmm managed registration helper for dmem cgroups.

 Documentation/admin-guide/cgroup-v2.rst          |  58 +-
 Documentation/core-api/cgroup.rst                |   9 +
 Documentation/core-api/index.rst                 |   1 +
 Documentation/gpu/drm-compute.rst                |  54 ++
 drivers/gpu/drm/drm_drv.c                        |  32 +
 drivers/gpu/drm/ttm/tests/ttm_bo_test.c          |  18 +-
 drivers/gpu/drm/ttm/tests/ttm_bo_validate_test.c |   4 +-
 drivers/gpu/drm/ttm/tests/ttm_resource_test.c    |   2 +-
 drivers/gpu/drm/ttm/ttm_bo.c                     |  54 +-
 drivers/gpu/drm/ttm/ttm_resource.c               |  23 +-
 drivers/gpu/drm/xe/xe_ttm_vram_mgr.c             |   8 +
 include/drm/drm_drv.h                            |   5 +
 include/drm/ttm/ttm_resource.h                   |  12 +-
 include/linux/cgroup_dmem.h                      |  66 ++
 include/linux/cgroup_subsys.h                    |   4 +
 include/linux/page_counter.h                     |   2 +-
 init/Kconfig                                     |  10 +
 kernel/cgroup/Makefile                           |   1 +
 kernel/cgroup/dmem.c                             | 861 +++++++++++++++++++++++
 mm/page_counter.c                                |   4 +-
 20 files changed, 1195 insertions(+), 33 deletions(-)
 create mode 100644 Documentation/core-api/cgroup.rst
 create mode 100644 Documentation/gpu/drm-compute.rst
 create mode 100644 include/linux/cgroup_dmem.h
 create mode 100644 kernel/cgroup/dmem.c