lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 20 Oct 2020 07:00:55 -0700
From:   Rob Clark <robdclark@...il.com>
To:     Rob Clark <robdclark@...il.com>,
        dri-devel <dri-devel@...ts.freedesktop.org>,
        Akhil P Oommen <akhilpo@...eaurora.org>,
        Tanmay Shah <tanmay@...eaurora.org>,
        Bjorn Andersson <bjorn.andersson@...aro.org>,
        AngeloGioacchino Del Regno <kholk11@...il.com>,
        Sam Ravnborg <sam@...nborg.org>,
        Emil Velikov <emil.velikov@...labora.com>,
        Rob Clark <robdclark@...omium.org>,
        Jonathan Marek <jonathan@...ek.ca>,
        Qinglang Miao <miaoqinglang@...wei.com>,
        Roy Spliet <nouveau@...iet.org>,
        Wambui Karuga <wambui.karugax@...il.com>,
        linux-arm-msm <linux-arm-msm@...r.kernel.org>,
        Sharat Masetty <smasetty@...eaurora.org>,
        Kalyan Thota <kalyan_t@...eaurora.org>,
        Rajendra Nayak <rnayak@...eaurora.org>,
        "Gustavo A. R. Silva" <gustavoars@...nel.org>,
        open list <linux-kernel@...r.kernel.org>,
        tongtiangen <tongtiangen@...wei.com>,
        Thomas Zimmermann <tzimmermann@...e.de>,
        Drew Davenport <ddavenport@...omium.org>,
        "open list:DRM DRIVER FOR MSM ADRENO GPU" 
        <freedreno@...ts.freedesktop.org>
Subject: Re: [PATCH 0/3] drm/msm: kthread_worker conversion

On Tue, Oct 20, 2020 at 1:24 AM Daniel Vetter <daniel@...ll.ch> wrote:
>
> On Mon, Oct 19, 2020 at 02:10:50PM -0700, Rob Clark wrote:
> > From: Rob Clark <robdclark@...omium.org>
> >
> > In particular, converting the async atomic commit (for cursor updates,
> > etc) to SCHED_FIFO kthread_worker helps with some cases where we
> > wouldn't manage to flush the updates within the 1ms-before-vblank
> > deadline resulting in fps drops when there is cursor movement.
> >
> > Rob Clark (3):
> >   drm/msm/gpu: Convert retire/recover work to kthread_worker
> >   drm/msm/kms: Update msm_kms_init/destroy
> >   drm/msm/atomic: Convert to per-CRTC kthread_work
>
> So i915 has it's own commit worker already for $reasons, but I don't think
> that's a good path to go down with more drivers. And the problem seems
> entirely generic in nature ...

I'm not *entirely* sure what your point is here?  This is just
migrating away from a shared ordered wq to per-crtc kthread so that we
don't miss vblank deadlines for silly reasons (and then stall on the
next frame's pageflip because we are still waiting for the cursor
update to latch).  Kind of like vblank-work but scheduled prior to,
rather than after, vblank.

And you're right that the problem is partially generic.. hw that (a)
doesn't have true async (cursor and/or otherwise) updates, and (b) has
various flush bits that latch register updates on vblank, is not that
uncommon.  But the current atomic helper API would have to be a bit
redesigned to look more like the interface between msm_atomic and the
display backend.  That is a fair bit of churn for re-using a small bit
of code.

BR,
-R

> -Daniel
>
> >
> >  drivers/gpu/drm/msm/adreno/a5xx_gpu.c     |  3 +--
> >  drivers/gpu/drm/msm/adreno/a5xx_preempt.c |  6 ++---
> >  drivers/gpu/drm/msm/adreno/a6xx_gmu.c     |  4 +--
> >  drivers/gpu/drm/msm/adreno/a6xx_gpu.c     |  4 +--
> >  drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c   |  8 +++++-
> >  drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c  |  8 +++++-
> >  drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c  | 11 ++++++---
> >  drivers/gpu/drm/msm/disp/mdp_kms.h        |  9 +++++--
> >  drivers/gpu/drm/msm/msm_atomic.c          | 25 +++++++++++++++----
> >  drivers/gpu/drm/msm/msm_drv.h             |  3 ++-
> >  drivers/gpu/drm/msm/msm_gpu.c             | 30 +++++++++++++++--------
> >  drivers/gpu/drm/msm/msm_gpu.h             | 13 +++++++---
> >  drivers/gpu/drm/msm/msm_kms.h             | 23 ++++++++++++++---
> >  13 files changed, 104 insertions(+), 43 deletions(-)
> >
> > --
> > 2.26.2
> >
> > _______________________________________________
> > dri-devel mailing list
> > dri-devel@...ts.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/dri-devel
>
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ