[PATCH] drm: Don't reserve minors for control nodes
Daniel Vetter
daniel.vetter at ffwll.ch
Tue Apr 21 13:13:34 UTC 2020
On Tue, Apr 21, 2020 at 2:50 PM Michał Winiarski <michal at hardline.pl> wrote:
>
> From: Michał Winiarski <michal.winiarski at intel.com>
>
> Control nodes are no longer with us.
> While we still need to preserve render nodes numbering, there's no need
> to reserve the range formerly used for control. Let's repurpose it to be
> used by primary and remove control remains from the code entirely.
>
> References: 0d49f303e8a7 ("drm: remove all control node code")
> References: c9ac371d4b59 ("drm: Fix render node numbering regression from control node removal.")
> Signed-off-by: Michał Winiarski <michal.winiarski at intel.com>
> Cc: Daniel Vetter <daniel.vetter at ffwll.ch>
> Cc: Eric Anholt <eric at anholt.net>
> Cc: Marcin Bernatowicz <marcin.bernatowicz at intel.com>
> Cc: Sean Paul <seanpaul at chromium.org>
So someone plugged in 256k gpus in a single machine and we've run out
of minors? Or why do we need this?
(There's 20 bits allocated to the minor, and we pre-reserve 2 bits for
the different flavours, which this patch reduces to 1 bit).
I'm asking since we might have some userspace somewhere which
hardcodes this and gets surprised. And I kinda don't want to audit the
world ... So I'm wondering what the motivation here is.
-Daniel
> ---
> drivers/gpu/drm/drm_drv.c | 4 ++--
> include/drm/drm_file.h | 1 -
> 2 files changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c
> index c15c9b4540e1..366a760bbc29 100644
> --- a/drivers/gpu/drm/drm_drv.c
> +++ b/drivers/gpu/drm/drm_drv.c
> @@ -124,8 +124,8 @@ static int drm_minor_alloc(struct drm_device *dev, unsigned int type)
> spin_lock_irqsave(&drm_minor_lock, flags);
> r = idr_alloc(&drm_minors_idr,
> NULL,
> - 64 * type,
> - 64 * (type + 1),
> + 128 * type,
> + 128 * (type + 1),
> GFP_NOWAIT);
> spin_unlock_irqrestore(&drm_minor_lock, flags);
> idr_preload_end();
> diff --git a/include/drm/drm_file.h b/include/drm/drm_file.h
> index 716990bace10..45e6dae69293 100644
> --- a/include/drm/drm_file.h
> +++ b/include/drm/drm_file.h
> @@ -54,7 +54,6 @@ struct file;
> */
> enum drm_minor_type {
> DRM_MINOR_PRIMARY,
> - DRM_MINOR_CONTROL,
> DRM_MINOR_RENDER,
> };
>
> --
> 2.26.0
>
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
More information about the dri-devel
mailing list