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] [day] [month] [year] [list]
Message-ID: <e8c2bc585f740fdb302c0c14a66d5b67@codeaurora.org>
Date:   Thu, 19 Nov 2020 13:43:57 -0800
From:   abhinavk@...eaurora.org
To:     Rob Clark <robdclark@...il.com>
Cc:     Stephen Boyd <swboyd@...omium.org>,
        freedreno <freedreno@...ts.freedesktop.org>,
        linux-arm-msm <linux-arm-msm@...r.kernel.org>,
        Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
        dri-devel <dri-devel@...ts.freedesktop.org>,
        Sean Paul <sean@...rly.run>,
        Kalyan Thota <kalyan_t@...eaurora.org>
Subject: Re: [Freedreno] [PATCH] drm/msm/dpu: Remove chatty vbif debug print

On 2020-11-18 12:03, abhinavk@...eaurora.org wrote:
> Hi Stephen
> 
> On 2020-11-18 07:49, Rob Clark wrote:
>> On Tue, Nov 17, 2020 at 2:53 PM Stephen Boyd <swboyd@...omium.org> 
>> wrote:
>>> 
>>> Quoting abhinavk@...eaurora.org (2020-11-17 12:34:56)
>>> > On 2020-11-17 09:26, Stephen Boyd wrote:
>>> > > I don't know what this debug print is for but it is super chatty,
>>> > > throwing 8 lines of debug prints in the logs every time we update a
>>> > > plane. It looks like it has no value. Let's nuke it so we can get
>>> > > better logs.
>>> > >
>>> > > Cc: Sean Paul <sean@...rly.run>
>>> > > Cc: Abhinav Kumar <abhinavk@...eaurora.org>
>>> > > Signed-off-by: Stephen Boyd <swboyd@...omium.org>
>>> >
>>> > > ---
>>> > >  drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c | 3 ---
>>> > >  1 file changed, 3 deletions(-)
>>> > >
>>> > > diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c
>>> > > b/drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c
>>> > > index 5e8c3f3e6625..5eb2b2ee09f5 100644
>>> > > --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c
>>> > > +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c
>>> > > @@ -245,9 +245,6 @@ void dpu_vbif_set_qos_remap(struct dpu_kms
>>> > > *dpu_kms,
>>> > >       forced_on = mdp->ops.setup_clk_force_ctrl(mdp, params->clk_ctrl,
>>> > > true);
>>> > >
>>> > >       for (i = 0; i < qos_tbl->npriority_lvl; i++) {
>>> > > -             DPU_DEBUG("vbif:%d xin:%d lvl:%d/%d\n",
>>> > > -                             params->vbif_idx, params->xin_id, i,
>>> > > -                             qos_tbl->priority_lvl[i]);
>>> >
>>> > Instead of getting rid of this print, we should optimize the caller of
>>> > this.
>>> 
>>> Does the print tell us anything? Right now it prints 8 lines where it
>>> feels like it could be trimmed down:
>>> 
>>>            [drm:dpu_vbif_set_qos_remap] vbif:0 xin:0 lvl:0/3
>>>            [drm:dpu_vbif_set_qos_remap] vbif:0 xin:0 lvl:1/3
>>>            [drm:dpu_vbif_set_qos_remap] vbif:0 xin:0 lvl:2/4
>>>            [drm:dpu_vbif_set_qos_remap] vbif:0 xin:0 lvl:3/4
>>>            [drm:dpu_vbif_set_qos_remap] vbif:0 xin:0 lvl:4/5
>>>            [drm:dpu_vbif_set_qos_remap] vbif:0 xin:0 lvl:5/5
>>>            [drm:dpu_vbif_set_qos_remap] vbif:0 xin:0 lvl:6/6
>>>            [drm:dpu_vbif_set_qos_remap] vbif:0 xin:0 lvl:7/6
>>> 
>>> maybe one line that combines the index into values?
>>> 
>>>            [drm:dpu_vbif_set_qos_remap] vbif:0 xin:0 [3 3 4 4 5 5 6 
>>> 6]
>>> 
>> 
>> or possibly convert to a tracepoint (so it doesn't spam the drm_trace 
>> buffer)
>> 
>> BR,
>> -R
>> 
>>> But again I have no idea if this print is really useful. Maybe we can
>>> print it only if the value changes from what was already there?
>>> Basically move the print into dpu_hw_set_qos_remap() and then skip 
>>> out
>>> early if nothing changed or print and modify the register.
>>> 
>>> > This is what
>>> > we are doing in downstream. So we need to update the property only if we
>>> > are switching from a RT client
>>> > to non-RT client for the plane and vice-versa. So we should try to do
>>> > the same thing here.
>>> >
>>> >         is_rt = sde_crtc_is_rt_client(crtc, crtc->state);
>>> >         if (is_rt != psde->is_rt_pipe) {
>>> >                 psde->is_rt_pipe = is_rt;
>>> >                 pstate->dirty |= SDE_PLANE_DIRTY_QOS;
>>> >         }
>>> >
>>> >
>>> >         if (pstate->dirty & DPU_PLANE_DIRTY_QOS)
>>> >                 _dpu_plane_set_qos_remap(plane);
>>> >
>>> 
>>> Sounds great! Can you send the patch?
> 
> Will finalize approach and send the patch in a day or two.
> 
> Thanks
> 
> Abhinav

patch has been posted here for review : 
https://patchwork.freedesktop.org/patch/401929/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ