From: "Christian König" <ckoenig.leichtzumerken-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Kenny Ho <Kenny.Ho-5C7GfCeVMHo@public.gmane.org>,
y2kenny-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org,
amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org,
intel-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
Subject: Re: [PATCH RFC 3/5] drm/amdgpu: Add DRM cgroup support for AMD devices
Date: Wed, 21 Nov 2018 10:55:50 +0100 [thread overview]
Message-ID: <7d65e14f-504c-e7f1-dc70-a8099b8755fa@gmail.com> (raw)
In-Reply-To: <20181120185814.13362-4-Kenny.Ho-5C7GfCeVMHo@public.gmane.org>
Am 20.11.18 um 19:58 schrieb Kenny Ho:
> Change-Id: Ib66c44ac1b1c367659e362a2fc05b6fbb3805876
> Signed-off-by: Kenny Ho <Kenny.Ho@amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/Makefile | 3 ++
> drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 7 ++++
> drivers/gpu/drm/amd/amdgpu/amdgpu_drmcgrp.c | 37 +++++++++++++++++++++
> drivers/gpu/drm/amd/amdgpu/amdgpu_drmcgrp.h | 19 +++++++++++
> include/drm/drmcgrp_vendors.h | 1 +
> 5 files changed, 67 insertions(+)
> create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_drmcgrp.c
> create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_drmcgrp.h
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/Makefile b/drivers/gpu/drm/amd/amdgpu/Makefile
> index 138cb787d27e..5cf8048f2d75 100644
> --- a/drivers/gpu/drm/amd/amdgpu/Makefile
> +++ b/drivers/gpu/drm/amd/amdgpu/Makefile
> @@ -186,4 +186,7 @@ amdgpu-y += $(AMD_DISPLAY_FILES)
>
> endif
>
> +#DRM cgroup controller
> +amdgpu-y += amdgpu_drmcgrp.o
> +
> obj-$(CONFIG_DRM_AMDGPU)+= amdgpu.o
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> index 30bc345d6fdf..ad0373f83ed3 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> @@ -33,6 +33,7 @@
> #include <drm/drm_crtc_helper.h>
> #include <drm/drm_atomic_helper.h>
> #include <drm/amdgpu_drm.h>
> +#include <drm/drm_cgroup.h>
> #include <linux/vgaarb.h>
> #include <linux/vga_switcheroo.h>
> #include <linux/efi.h>
> @@ -2645,6 +2646,12 @@ int amdgpu_device_init(struct amdgpu_device *adev,
> goto failed;
> }
>
> + /* TODO:docs */
> + if (drmcgrp_vendors[amd_drmcgrp_vendor_id] == NULL)
> + drmcgrp_register_vendor(&amd_drmcgrp_vendor, amd_drmcgrp_vendor_id);
> +
> + drmcgrp_register_device(adev->ddev, amd_drmcgrp_vendor_id);
> +
Well that is most likely racy because it is possible that multiple
instances of the driver initialize at the same time.
Better put the call to drmcgrp_register_vendor() into the module init
section.
Christian.
> return 0;
>
> failed:
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drmcgrp.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drmcgrp.c
> new file mode 100644
> index 000000000000..ed8aac17769c
> --- /dev/null
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drmcgrp.c
> @@ -0,0 +1,37 @@
> +// SPDX-License-Identifier: MIT
> +// Copyright 2018 Advanced Micro Devices, Inc.
> +#include <linux/slab.h>
> +#include <linux/cgroup_drm.h>
> +#include <drm/drm_device.h>
> +#include "amdgpu_drmcgrp.h"
> +
> +struct cftype files[] = {
> + { } /* terminate */
> +};
> +
> +struct cftype *drmcgrp_amd_get_cftypes(void)
> +{
> + return files;
> +}
> +
> +struct drmcgrp_device_resource *amd_drmcgrp_alloc_dev_resource(void)
> +{
> + struct amd_drmcgrp_dev_resource *a_ddr;
> +
> + a_ddr = kzalloc(sizeof(struct amd_drmcgrp_dev_resource), GFP_KERNEL);
> + if (!a_ddr)
> + return ERR_PTR(-ENOMEM);
> +
> + return &a_ddr->ddr;
> +}
> +
> +void amd_drmcgrp_free_dev_resource(struct drmcgrp_device_resource *ddr)
> +{
> + kfree(ddr_amdddr(ddr));
> +}
> +
> +struct drmcgrp_vendor amd_drmcgrp_vendor = {
> + .get_cftypes = drmcgrp_amd_get_cftypes,
> + .alloc_dev_resource = amd_drmcgrp_alloc_dev_resource,
> + .free_dev_resource = amd_drmcgrp_free_dev_resource,
> +};
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drmcgrp.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_drmcgrp.h
> new file mode 100644
> index 000000000000..e2934b7a49f5
> --- /dev/null
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drmcgrp.h
> @@ -0,0 +1,19 @@
> +/* SPDX-License-Identifier: MIT
> + * Copyright 2018 Advanced Micro Devices, Inc.
> + */
> +#ifndef _AMDGPU_DRMCGRP_H
> +#define _AMDGPU_DRMCGRP_H
> +
> +#include <linux/cgroup_drm.h>
> +
> +/* for AMD specific DRM resources */
> +struct amd_drmcgrp_dev_resource {
> + struct drmcgrp_device_resource ddr;
> +};
> +
> +static inline struct amd_drmcgrp_dev_resource *ddr_amdddr(struct drmcgrp_device_resource *ddr)
> +{
> + return ddr ? container_of(ddr, struct amd_drmcgrp_dev_resource, ddr) : NULL;
> +}
> +
> +#endif /* _AMDGPU_DRMCGRP_H */
> diff --git a/include/drm/drmcgrp_vendors.h b/include/drm/drmcgrp_vendors.h
> index b04d8649851b..6cfbf1825344 100644
> --- a/include/drm/drmcgrp_vendors.h
> +++ b/include/drm/drmcgrp_vendors.h
> @@ -3,5 +3,6 @@
> */
> #if IS_ENABLED(CONFIG_CGROUP_DRM)
>
> +DRMCGRP_VENDOR(amd)
>
> #endif
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
next prev parent reply other threads:[~2018-11-21 9:55 UTC|newest]
Thread overview: 80+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-20 18:58 [PATCH RFC 0/5] DRM cgroup controller Kenny Ho
2018-11-20 18:58 ` [PATCH RFC 1/5] cgroup: Introduce cgroup for drm subsystem Kenny Ho
[not found] ` <20181120185814.13362-1-Kenny.Ho-5C7GfCeVMHo@public.gmane.org>
2018-11-20 18:58 ` [PATCH RFC 2/5] cgroup: Add mechanism to register vendor specific DRM devices Kenny Ho
[not found] ` <20181120185814.13362-3-Kenny.Ho-5C7GfCeVMHo@public.gmane.org>
2018-11-20 20:21 ` Tejun Heo
[not found] ` <20181120202141.GA2509588-LpCCV3molIbIZ9tKgghJQw2O0Ztt9esIQQ4Iyu8u01E@public.gmane.org>
2018-11-20 22:21 ` Ho, Kenny
[not found] ` <DM5PR12MB1226E972538A45325114ADF683D90-2J9CzHegvk+lTFawYev2gQdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2018-11-20 22:30 ` Tejun Heo
[not found] ` <20181120223018.GB2509588-LpCCV3molIbIZ9tKgghJQw2O0Ztt9esIQQ4Iyu8u01E@public.gmane.org>
2018-11-21 22:07 ` Ho, Kenny
2018-11-21 22:12 ` Ho, Kenny
2018-11-26 20:59 ` Kasiviswanathan, Harish
2018-11-27 9:38 ` Koenig, Christian
2018-11-27 9:46 ` [Intel-gfx] " Joonas Lahtinen
2018-11-27 15:41 ` Ho, Kenny
2018-11-28 9:14 ` Joonas Lahtinen
2018-11-28 19:46 ` Ho, Kenny
2018-11-30 22:22 ` Matt Roper
[not found] ` <20181130222228.GE31345-b/RNqDZ/lqH1fpGqjiHozbKMmGWinSIL2HeeBUIffwg@public.gmane.org>
2018-12-03 6:46 ` [Intel-gfx] " Ho, Kenny
2018-12-03 18:58 ` Matt Roper
[not found] ` <154339645444.5339.6291298808444340104-zzJjBcU1GAT9BXuAQUXR0fooFf0ArEBIu+b9c/7xato@public.gmane.org>
2018-12-03 20:55 ` Kuehling, Felix
2018-12-03 20:55 ` Kuehling, Felix
[not found] ` <219f8754-3e14-05ad-07a3-6cddb8bb74aa-5C7GfCeVMHo@public.gmane.org>
2018-12-05 14:20 ` Joonas Lahtinen
2018-12-05 14:20 ` Joonas Lahtinen
2018-11-21 9:53 ` Christian König
2018-11-20 18:58 ` [PATCH RFC 3/5] drm/amdgpu: Add DRM cgroup support for AMD devices Kenny Ho
[not found] ` <20181120185814.13362-4-Kenny.Ho-5C7GfCeVMHo@public.gmane.org>
2018-11-21 9:55 ` Christian König [this message]
2018-11-20 18:58 ` [PATCH RFC 4/5] drm/amdgpu: Add accounting of command submission via DRM cgroup Kenny Ho
2018-11-20 20:57 ` Eric Anholt
2018-11-20 20:57 ` Eric Anholt
[not found] ` <87r2ff79he.fsf-WhKQ6XTQaPysTnJN9+BGXg@public.gmane.org>
2018-11-21 10:03 ` Christian König
2018-11-23 17:36 ` Eric Anholt
[not found] ` <871s7b7l2b.fsf-WhKQ6XTQaPysTnJN9+BGXg@public.gmane.org>
2018-11-23 18:13 ` Koenig, Christian
2018-11-23 18:13 ` Koenig, Christian
[not found] ` <095e010c-e3b8-ec79-c87b-a05ce1d95e10-5C7GfCeVMHo@public.gmane.org>
2018-11-23 19:09 ` Ho, Kenny
2018-11-23 19:09 ` Ho, Kenny
2018-11-21 9:58 ` Christian König
2018-11-20 18:58 ` [PATCH RFC 5/5] drm/amdgpu: Add accounting of buffer object creation request " Kenny Ho
[not found] ` <20181120185814.13362-6-Kenny.Ho-5C7GfCeVMHo@public.gmane.org>
2018-11-20 20:56 ` Eric Anholt
2018-11-20 20:56 ` Eric Anholt
2018-11-21 10:00 ` Christian König
2018-11-27 18:15 ` Kenny Ho
[not found] ` <CAOWid-fMFUvT_XQijRd34+cUOxM=zbbf+HwWv_NbqO-rBo2d_A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-11-27 20:31 ` Christian König
[not found] ` <3299d9d6-e272-0459-8f63-0c81d11cde1e-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2018-11-27 20:36 ` Kenny Ho
2018-11-21 1:43 ` ✗ Fi.CI.BAT: failure for DRM cgroup controller Patchwork
2019-05-09 21:04 ` [RFC PATCH v2 0/5] new cgroup controller for gpu/drm subsystem Kenny Ho
2019-05-09 21:04 ` [RFC PATCH v2 3/5] drm/amdgpu: Register AMD devices for DRM cgroup Kenny Ho
2019-05-09 21:04 ` [RFC PATCH v2 4/5] drm, cgroup: Add total GEM buffer allocation limit Kenny Ho
[not found] ` <20190509210410.5471-5-Kenny.Ho-5C7GfCeVMHo@public.gmane.org>
2019-05-10 12:28 ` Christian König
[not found] ` <f63c8d6b-92a4-2977-d062-7e0b7036834e-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2019-05-10 14:57 ` Kenny Ho
2019-05-10 14:57 ` Kenny Ho
2019-05-10 15:08 ` Koenig, Christian
2019-05-10 15:08 ` Koenig, Christian
[not found] ` <1ca1363e-b39c-c299-1d24-098b1059f7ff-5C7GfCeVMHo@public.gmane.org>
2019-05-10 15:25 ` Kenny Ho
2019-05-10 15:25 ` Kenny Ho
2019-05-10 17:48 ` Koenig, Christian
2019-05-10 17:48 ` Koenig, Christian
2019-05-10 18:50 ` Kenny Ho
[not found] ` <CAOWid-es+C_iStQUkM52mO3TeP8eS9MX+emZDQNH2PyZCf=RHQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2019-05-13 15:10 ` Daniel Vetter
2019-05-15 21:26 ` Welty, Brian
[not found] ` <d81e8f55-9602-818e-0f9c-1d9d150133b1-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2019-05-16 2:29 ` Kenny Ho
[not found] ` <CAOWid-ftUrVVWPu9KuS8xpWKNQT6_FtxB8gEyEAn9nLD6qxb5Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2019-05-16 7:16 ` Koenig, Christian
2019-05-16 7:25 ` Christian König
[not found] ` <6e124f5e-f83f-5ca1-4616-92538f202653-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2019-05-16 12:28 ` Daniel Vetter
2019-05-16 12:28 ` Daniel Vetter
2019-05-16 14:08 ` Koenig, Christian
2019-05-16 14:08 ` Koenig, Christian
2019-05-16 14:03 ` Kenny Ho
2019-05-16 14:03 ` Kenny Ho
[not found] ` <CAOWid-fQgah16ycz-V-ymsm7yKUnFTeTSBaW4MK=2mqUHhCcmw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2019-05-16 14:12 ` Christian König
2019-05-16 14:12 ` Christian König
2019-05-16 14:28 ` Kenny Ho
2019-05-16 14:10 ` Tejun Heo
2019-05-16 14:58 ` Kenny Ho
[not found] ` <20190509210410.5471-1-Kenny.Ho-5C7GfCeVMHo@public.gmane.org>
2019-05-09 21:04 ` [RFC PATCH v2 1/5] cgroup: Introduce cgroup for drm subsystem Kenny Ho
2019-05-09 21:04 ` [RFC PATCH v2 2/5] cgroup: Add mechanism to register DRM devices Kenny Ho
2019-05-09 21:04 ` [RFC PATCH v2 5/5] drm, cgroup: Add peak GEM buffer allocation limit Kenny Ho
[not found] ` <20190509210410.5471-6-Kenny.Ho-5C7GfCeVMHo@public.gmane.org>
2019-05-10 12:29 ` Christian König
2019-05-10 12:31 ` [RFC PATCH v2 0/5] new cgroup controller for gpu/drm subsystem Christian König
2019-05-10 15:07 ` Kenny Ho
2019-05-10 15:07 ` Kenny Ho
[not found] ` <CAOWid-dJZrnAifFYByh4p9x-jA1o_5YWkoNVAVbdRUaxzdPbGA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2019-05-10 17:46 ` Koenig, Christian
2019-05-10 17:46 ` Koenig, Christian
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=7d65e14f-504c-e7f1-dc70-a8099b8755fa@gmail.com \
--to=ckoenig.leichtzumerken-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
--cc=Kenny.Ho-5C7GfCeVMHo@public.gmane.org \
--cc=amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
--cc=cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=christian.koenig-5C7GfCeVMHo@public.gmane.org \
--cc=dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
--cc=intel-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
--cc=y2kenny-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.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.