From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753356AbdEHH0H (ORCPT ); Mon, 8 May 2017 03:26:07 -0400 Received: from mail-wr0-f196.google.com ([209.85.128.196]:33704 "EHLO mail-wr0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752496AbdEHH0F (ORCPT ); Mon, 8 May 2017 03:26:05 -0400 Date: Mon, 8 May 2017 09:26:00 +0200 From: Daniel Vetter To: ville.syrjala@linux.intel.com Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Daniel Vetter , Jani Nikula , Dave Airlie , Jens Axboe , Linus Torvalds , Maarten Lankhorst Subject: Re: [PATCH] drm/i915: Make vblank evade warnings optional Message-ID: <20170508072600.ebvt2jbstf366dab@phenom.ffwll.local> Mail-Followup-To: ville.syrjala@linux.intel.com, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Jani Nikula , Dave Airlie , Jens Axboe , Linus Torvalds , Maarten Lankhorst References: <20170507171252.5149-1-ville.syrjala@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20170507171252.5149-1-ville.syrjala@linux.intel.com> X-Operating-System: Linux phenom 4.9.0-2-amd64 User-Agent: NeoMutt/20170306 (1.8.0) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, May 07, 2017 at 08:12:52PM +0300, ville.syrjala@linux.intel.com wrote: > From: Ville Syrjälä > > 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 > Cc: Jani Nikula > Cc: Dave Airlie > Cc: Jens Axboe > Cc: Linus Torvalds > Cc: Maarten Lankhorst > Reported-by: Jens Axboe > Reported-by: Linus Torvalds > Fixes: e1edbd44e23b ("drm/i915: Complain if we take too long under vblank evasion.") > Signed-off-by: Ville Syrjälä Reviewed-by: Daniel Vetter > --- > 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