[PATCH] radeon: Use only a single work queue thread for crt
Christian König
ckoenig.leichtzumerken at gmail.com
Mon Sep 7 08:25:58 UTC 2020
Am 06.09.20 um 18:02 schrieb Jan Vesely:
>
>
> On Sun, Sep 6, 2020 at 4:54 AM Christian König
> <ckoenig.leichtzumerken at gmail.com
> <mailto:ckoenig.leichtzumerken at gmail.com>> wrote:
>
> Am 03.08.19 um 02:09 schrieb Andi Kleen:
> > From: Andi Kleen <ak at linux.intel.com <mailto:ak at linux.intel.com>>
> >
> > I got tired of seeing a lot of radeon-crt kernel threads in ps on my
> > workstation, one for each CPU and one for each display, which
> never use any CPU time.
> > Surely a single kernel thread is enough to handle the display.
>
> NAK, radeon blocks inside the kernel thread and those need to run in
> parallel or otherwise the hardware can hang.
>
>
> Shouldn't WQ_UNBOUND create a new worker thread whenever all current
> workers go to sleep/block (and the total number of worker threads is
> below 'max_active') ?
If that is guaranteed then this is indeed sufficient, but the sentence
"Surely a single kernel thread is enough to handle the display." sounded
like it creates only a single one.
Christian.
>
> Jan
>
>
> Christian.
>
> >
> > Signed-off-by: Andi Kleen <ak at linux.intel.com
> <mailto:ak at linux.intel.com>>
> > ---
> > drivers/gpu/drm/radeon/radeon_display.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/radeon/radeon_display.c
> b/drivers/gpu/drm/radeon/radeon_display.c
> > index bd52f15e6330..fb0ca688f6fe 100644
> > --- a/drivers/gpu/drm/radeon/radeon_display.c
> > +++ b/drivers/gpu/drm/radeon/radeon_display.c
> > @@ -682,7 +682,7 @@ static void radeon_crtc_init(struct
> drm_device *dev, int index)
> >
> > drm_mode_crtc_set_gamma_size(&radeon_crtc->base, 256);
> > radeon_crtc->crtc_id = index;
> > - radeon_crtc->flip_queue = alloc_workqueue("radeon-crtc",
> WQ_HIGHPRI, 0);
> > + radeon_crtc->flip_queue = alloc_workqueue("radeon-crtc",
> WQ_HIGHPRI|WQ_UNBOUND, 0);
> > rdev->mode_info.crtcs[index] = radeon_crtc;
> >
> > if (rdev->family >= CHIP_BONAIRE) {
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org <mailto:amd-gfx at lists.freedesktop.org>
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
>
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/amd-gfx/attachments/20200907/fa9b8f44/attachment-0001.htm>
More information about the amd-gfx
mailing list