From: Jani Nikula <jani.nikula@linux.intel.com>
To: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
intel-xe@lists.freedesktop.org, linux-kernel@vger.kernel.org,
dri-devel@lists.freedesktop.org, Tejun Heo <tj@kernel.org>,
Zefan Li <lizefan.x@bytedance.com>,
Johannes Weiner <hannes@cmpxchg.org>,
Andrew Morton <akpm@linux-foundation.org>
Cc: Friedrich Vock <friedrich.vock@gmx.de>,
cgroups@vger.kernel.org, linux-mm@kvack.org,
Maxime Ripard <mripard@kernel.org>,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Subject: Re: [PATCH 2/7] drm/drv: Add drmm cgroup registration for dev cgroups.
Date: Wed, 23 Oct 2024 11:45:15 +0300 [thread overview]
Message-ID: <878qufus10.fsf@intel.com> (raw)
In-Reply-To: <20241023075302.27194-3-maarten.lankhorst@linux.intel.com>
On Wed, 23 Oct 2024, Maarten Lankhorst <maarten.lankhorst@linux.intel.com> wrote:
> From: Maxime Ripard <mripard@kernel.org>
>
> Drivers will need to register a cgroup device at probe time, so let's
> give them a drm-managed helper.
>
> Signed-off-by: Maxime Ripard <mripard@kernel.org>
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> ---
> drivers/gpu/drm/drm_drv.c | 21 +++++++++++++++++++++
> include/drm/drm_drv.h | 4 ++++
> 2 files changed, 25 insertions(+)
>
> diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c
> index c2c172eb25df7..251d1d69b09c5 100644
> --- a/drivers/gpu/drm/drm_drv.c
> +++ b/drivers/gpu/drm/drm_drv.c
> @@ -26,6 +26,7 @@
> * DEALINGS IN THE SOFTWARE.
> */
>
> +#include <linux/cgroup_dev.h>
> #include <linux/debugfs.h>
> #include <linux/fs.h>
> #include <linux/module.h>
> @@ -820,6 +821,26 @@ void drm_dev_put(struct drm_device *dev)
> }
> EXPORT_SYMBOL(drm_dev_put);
>
> +static inline void drmm_cg_unregister_device(struct drm_device *dev, void *arg)
Nitpick, inline in .c files is mostly useless, just use static and let
the compiler do its job.
BR,
Jani.
> +{
> + dev_cgroup_unregister_device(arg);
> +}
> +
> +int drmm_cgroup_register_device(struct drm_device *dev,
> + struct dev_cgroup_device *cgdev)
> +{
> + int ret;
> + char dev_name[32];
> +
> + snprintf(dev_name, sizeof(dev_name), "drm/%s", dev->unique);
> + ret = dev_cgroup_register_device(cgdev, dev_name);
> + if (ret)
> + return ret;
> +
> + return drmm_add_action_or_reset(dev, drmm_cg_unregister_device, cgdev);
> +}
> +EXPORT_SYMBOL_GPL(drmm_cgroup_register_device);
> +
> static int create_compat_control_link(struct drm_device *dev)
> {
> struct drm_minor *minor;
> diff --git a/include/drm/drm_drv.h b/include/drm/drm_drv.h
> index 1bbbcb8e2d231..3e83c7ce7f2d0 100644
> --- a/include/drm/drm_drv.h
> +++ b/include/drm/drm_drv.h
> @@ -34,6 +34,7 @@
>
> #include <drm/drm_device.h>
>
> +struct dev_cgroup_device;
> struct drm_fb_helper;
> struct drm_fb_helper_surface_size;
> struct drm_file;
> @@ -438,6 +439,9 @@ void *__devm_drm_dev_alloc(struct device *parent,
> const struct drm_driver *driver,
> size_t size, size_t offset);
>
> +int drmm_cgroup_register_device(struct drm_device *dev,
> + struct dev_cgroup_device *cgdev);
> +
> /**
> * devm_drm_dev_alloc - Resource managed allocation of a &drm_device instance
> * @parent: Parent device object
--
Jani Nikula, Intel
next prev parent reply other threads:[~2024-10-23 8:45 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-23 7:52 [PATCH 0/7] kernel/cgroups: Add "dev" memory accounting cgroup Maarten Lankhorst
2024-10-23 7:52 ` [PATCH 1/7] kernel/cgroup: " Maarten Lankhorst
2024-10-23 15:26 ` Waiman Long
2024-11-11 9:28 ` Maarten Lankhorst
2024-10-25 5:44 ` kernel test robot
2024-10-28 14:53 ` Friedrich Vock
2024-11-11 22:53 ` Maarten Lankhorst
2024-11-14 8:45 ` Friedrich Vock
2024-10-23 7:52 ` [PATCH 2/7] drm/drv: Add drmm cgroup registration for dev cgroups Maarten Lankhorst
2024-10-23 8:45 ` Jani Nikula [this message]
2024-10-24 10:35 ` kernel test robot
2024-10-24 15:42 ` kernel test robot
2024-10-23 7:52 ` [PATCH 3/7] drm/ttm: Handle cgroup based eviction in TTM Maarten Lankhorst
2024-10-24 11:37 ` kernel test robot
2024-10-24 17:37 ` kernel test robot
2024-10-25 4:12 ` kernel test robot
2024-10-23 7:52 ` [PATCH 4/7] drm/xe: Implement cgroup for vram Maarten Lankhorst
2024-10-23 7:52 ` [PATCH 5/7] drm/amdgpu: Add cgroups implementation Maarten Lankhorst
2024-10-23 7:52 ` [PATCH 6/7] [HACK] drm/xe: Hack to test with mapped pages instead of vram Maarten Lankhorst
2024-10-23 8:52 ` Jani Nikula
2024-10-23 7:53 ` [PATCH 7/7] [DISCUSSION] drm/gem: Add cgroup memory accounting Maarten Lankhorst
2024-10-24 14:07 ` kernel test robot
2024-10-23 8:11 ` ✓ CI.Patch_applied: success for kernel/cgroups: Add "dev" memory accounting cgroup Patchwork
2024-10-23 8:12 ` ✗ CI.checkpatch: warning " Patchwork
2024-10-23 8:12 ` ✗ CI.KUnit: failure " Patchwork
2024-10-23 19:40 ` [PATCH 0/7] " Tejun Heo
2024-10-24 7:20 ` Maxime Ripard
2024-10-24 17:06 ` Tejun Heo
2024-10-28 10:05 ` Maxime Ripard
2024-10-29 20:38 ` Johannes Weiner
2024-11-06 10:31 ` Maxime Ripard
2024-11-06 18:20 ` Tejun Heo
2024-11-13 14:58 ` Maarten Lankhorst
2024-11-13 18:29 ` Tejun Heo
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=878qufus10.fsf@intel.com \
--to=jani.nikula@linux.intel.com \
--cc=akpm@linux-foundation.org \
--cc=cgroups@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=friedrich.vock@gmx.de \
--cc=hannes@cmpxchg.org \
--cc=intel-xe@lists.freedesktop.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lizefan.x@bytedance.com \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mripard@kernel.org \
--cc=tj@kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.