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. ;)
And you'll still get the "completed after N attempts" as DBG if you're
truly curious...
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