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