On Sun, May 07, 2017 at 08:12:52PM +0300, ville.syrjala@xxxxxxxxxxxxxxx wrote: > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > Add a new Kconfig option to enable/disable the extra warnings > from the vblank evade code. For now we'll keep the warning > about an actually missed vblank always enabled as that can have > an actual user visible impact. But if we miss the deadline > othrwise there's no real need to bother the user with that. > We'll want these warnings enabled during development however > so that we can catch regressions. > > Based on the reports it looks like this is still very easy > to hit on SKL, so we have more work ahead of us to optimize > the crtiical section further. > > Cc: Daniel Vetter <daniel@xxxxxxxx> > Cc: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> > Cc: Dave Airlie <airlied@xxxxxxxxxx> > Cc: Jens Axboe <axboe@xxxxxxxxx> > Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> > Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> > Reported-by: Jens Axboe <axboe@xxxxxxxxx> > Reported-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> > Fixes: e1edbd44e23b ("drm/i915: Complain if we take too long under vblank evasion.") > Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> > --- > drivers/gpu/drm/i915/Kconfig.debug | 13 +++++++++++++ > drivers/gpu/drm/i915/intel_sprite.c | 7 +++++-- > 2 files changed, 18 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/Kconfig.debug b/drivers/gpu/drm/i915/Kconfig.debug > index e091809a9a9e..49db32fa6524 100644 > --- a/drivers/gpu/drm/i915/Kconfig.debug > +++ b/drivers/gpu/drm/i915/Kconfig.debug > @@ -87,3 +87,16 @@ config DRM_I915_LOW_LEVEL_TRACEPOINTS > and also analyze the request dependency resolving timeline. > > If in doubt, say "N". > + > +config DRM_I915_DEBUG_VBLANK_EVADE > + bool "Enable extra debug warnings for vblank evasion" > + depends on DRM_I915 > + default n > + help > + Choose this option to turn on extra debug warnings for the > + vblank evade mechanism. This gives a warning every time the > + the deadline allotted for the vblank evade critical section > + is exceeded, even if there isn't an actual risk of missing > + the vblank. > + > + If in doubt, say "N". > diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c > index f7d431427115..8c87c717c7cd 100644 > --- a/drivers/gpu/drm/i915/intel_sprite.c > +++ b/drivers/gpu/drm/i915/intel_sprite.c > @@ -198,12 +198,15 @@ void intel_pipe_update_end(struct intel_crtc *crtc, struct intel_flip_work *work > ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time), > crtc->debug.min_vbl, crtc->debug.max_vbl, > crtc->debug.scanline_start, scanline_end); > - } else if (ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time) > > - VBLANK_EVASION_TIME_US) > + } > +#ifdef CONFIG_DRM_I915_DEBUG_VBLANK_EVADE > + else if (ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time) > > + VBLANK_EVASION_TIME_US) > DRM_WARN("Atomic update on pipe (%c) took %lld us, max time under evasion is %u us\n", > pipe_name(pipe), > ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time), > VBLANK_EVASION_TIME_US); > +#endif > } > > static void > -- > 2.10.2 > -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx