On Fri, 17 Feb 2017 09:33:55 -0600 Derek Foreman <[email protected]> said:

> On 16/02/17 05:56 PM, Carsten Haitzler (The Rasterman) wrote:
> > On Thu, 16 Feb 2017 09:39:40 -0500 Christopher Michael
> > <[email protected]> said:
> >
> >> On 02/16/2017 09:08 AM, Derek Foreman wrote:
> >>> On 15/02/17 07:59 PM, Carsten Haitzler (The Rasterman) wrote:
> >>>> On Wed, 15 Feb 2017 08:02:02 -0800 Derek Foreman <[email protected]>
> >>>> said:
> >>>>
> >>>>> derekf pushed a commit to branch master.
> >>>>>
> >>>>> http://git.enlightenment.org/core/efl.git/commit/?id=ae5d00246667e0a37b123fef4618b670021f5d9e
> >>>>>
> >>>>> commit ae5d00246667e0a37b123fef4618b670021f5d9e
> >>>>> Author: Derek Foreman <[email protected]>
> >>>>> Date:   Wed Feb 15 09:51:32 2017 -0600
> >>>>>
> >>>>>     ecore_drm2: ERR once when page flip fails with EBUSY
> >>>>>
> >>>>>     On systems where this happens it'll probably happen a lot, so
> >>>>>     we don't want to continuously log this, but since it's definitely
> >>>>>     showing a bug somewhere (efl or kernel) it probably should be an
> >>>>> ERR.
> >>>>
> >>>> hmmm... where i have seen this it doesn't happen THAT much... like it
> >>>> sometimes happens in blips like 1 here, 15 seconds later, another, 1 min
> >>>> later another, then maybe 2 mins later 3 in a row fast, then nothing for
> >>>> 10 sec... it's very blippy. i logged these for a while myself... :)
> >>>
> >>> Chris hit it somehow and replaced all the ERR with DBG - I think it's an
> >>> important enough error to be an ERR at least once, so I figured this was
> >>> a reasonable compromise.
> >>>
> >>
> >> Agreed. I was testing some support for rotating Outputs (in drm2) via
> >> Evas software rotation. Due to various issues with a given FBO, the ERR
> >> here was being spewed quite a lot on the console. So Derek and I spoke
> >> and came to the agreement that we can just spit this out once and things
> >> will be fine.
> >
> > hmmm... i guess. an alternative is to rate limit it too... eg if error
> > happens, if # of swaps since last error print > x then print, else
> > suppress... then you know if it's a one-off or if it does keep happening...
> 
> Yup, but we do have to ask ourselves if we really care?
> 
> If it happens once ever it's a bug that needs to be reported to someone. 
>   If it happens twice, it's still a bug that needs to be reported (once) 
> to someone.  If it happens three times...  I think you know where I'm 
> going with this. ;)

but then "why is my screen stuttering" is not easily answerable... is it
because of more and more and more of these fixups/retries or something else?
where do i start hunting... :)

> And you'll still get the "completed after N attempts" as DBG if you're 
> truly curious...

i guess. as long as we get that.

> As long as it's an ERR (at least) once, I'm happy.  Rate limit, one time 
> print, either of these are fine to me. :)
> 
> Thanks,
> Derek
> 
> >> Cheers,
> >> dh
> >>
> >>
> >>>>> ---
> >>>>>  src/lib/ecore_drm2/ecore_drm2_fb.c | 13 ++++++++++---
> >>>>>  1 file changed, 10 insertions(+), 3 deletions(-)
> >>>>>
> >>>>> diff --git a/src/lib/ecore_drm2/ecore_drm2_fb.c
> >>>>> b/src/lib/ecore_drm2/ecore_drm2_fb.c index f838168..fe27508 100644
> >>>>> --- a/src/lib/ecore_drm2/ecore_drm2_fb.c
> >>>>> +++ b/src/lib/ecore_drm2/ecore_drm2_fb.c
> >>>>> @@ -424,6 +424,7 @@ ecore_drm2_fb_flip(Ecore_Drm2_Fb *fb,
> >>>>> Ecore_Drm2_Output *output)
> >>>>>          do
> >>>>>            {
> >>>>> +             static Eina_Bool bugged_about_bug = EINA_FALSE;
> >>>>>               repeat = EINA_FALSE;
> >>>>>               ret = sym_drmModePageFlip(fb->fd, output->crtc_id, fb->id,
> >>>>>                                         DRM_MODE_PAGE_FLIP_EVENT,
> >>>>> @@ -434,12 +435,18 @@ ecore_drm2_fb_flip(Ecore_Drm2_Fb *fb,
> >>>>> Ecore_Drm2_Output *output)
> >>>>>                * until we can flip or we give up (100 tries with a yield
> >>>>>                * between each try). We can't expect everyone to run the
> >>>>>                * latest bleeding edge kernel IF a workaround is possible
> >>>>> -              * in userspace, so do this. */
> >>>>> +              * in userspace, so do this.
> >>>>> +              * We only report this as an ERR once since if it will
> >>>>> +              * generate a huge amount of spam otherwise. */
> >>>>>               if ((ret < 0) && (errno == EBUSY))
> >>>>>                 {
> >>>>>                    repeat = EINA_TRUE;
> >>>>> -                  if (count == 0)
> >>>>> -                    WRN("Pageflip fail - EBUSY from
> >>>>> drmModePageFlip...");
> >>>>> +                  if (count == 0 && !bugged_about_bug)
> >>>>> +                    {
> >>>>> +                       ERR("Pageflip fail - EBUSY from drmModePageFlip
> >>>>> - "
> >>>>> +                           "This is either a kernel bug or an EFL
> >>>>> one.");
> >>>>> +                       bugged_about_bug = EINA_TRUE;
> >>>>> +                    }
> >>>>>                    count++;
> >>>>>                    if (count > 500)
> >>>>>                      {
> >>>>>
> >>>>> --
> >>>>>
> >>>>>
> >>
> >>
> >>
> >> ------------------------------------------------------------------------------
> >> Check out the vibrant tech community on one of the world's most
> >> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
> >> _______________________________________________
> >> enlightenment-devel mailing list
> >> [email protected]
> >> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> >>
> >
> >
> 
> 
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
> _______________________________________________
> enlightenment-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> 


-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    [email protected]


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to