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 <der...@osg.samsung.com> 
>> said:
>>
>>> derekf pushed a commit to branch master.
>>>
>>> http://git.enlightenment.org/core/efl.git/commit/?id=ae5d00246667e0a37b123fef4618b670021f5d9e
>>>
>>> commit ae5d00246667e0a37b123fef4618b670021f5d9e
>>> Author: Derek Foreman <der...@osg.samsung.com>
>>> 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.

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
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to