Re: [PATCH] drm/i915: Make vblank evade warnings optional

2017-05-08 Thread Jens Axboe
On 05/08/2017 01:25 AM, Daniel Vetter wrote:
> On Sun, May 07, 2017 at 07:52:14PM -0600, Jens Axboe wrote:
>> On 05/07/2017 11:56 AM, Daniel Vetter wrote:
>>> On Sun, May 7, 2017 at 7:46 PM, Jens Axboe  wrote:
 On 05/07/2017 11:12 AM, ville.syrj...@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.

 Shouldn't it just be a debug printk or something instead, so that normal
 people don't see it, but the folks that turn on debugging can get the
 info they need? Seems silly to add a kconfig option for this.
>>>
>>> I guess we could keep it as debug for users, but we want to make this
>>> a hard failure on our CI machines. Kconfig knob is the easiest to roll
>>> out to all machines.
>>
>> Wouldn't a module parameter be more useful then, as an opt-in
>> to catch these violations.
>>
>> Nobody is going to know wtf to set this kconfig option to.
> 
> They're all hidden behind an overall i915 debugging option which tells you
> not to enable it. You won't see this.

OK, that does improve things a bit.

-- 
Jens Axboe



Re: [PATCH] drm/i915: Make vblank evade warnings optional

2017-05-08 Thread Jens Axboe
On 05/08/2017 01:25 AM, Daniel Vetter wrote:
> On Sun, May 07, 2017 at 07:52:14PM -0600, Jens Axboe wrote:
>> On 05/07/2017 11:56 AM, Daniel Vetter wrote:
>>> On Sun, May 7, 2017 at 7:46 PM, Jens Axboe  wrote:
 On 05/07/2017 11:12 AM, ville.syrj...@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.

 Shouldn't it just be a debug printk or something instead, so that normal
 people don't see it, but the folks that turn on debugging can get the
 info they need? Seems silly to add a kconfig option for this.
>>>
>>> I guess we could keep it as debug for users, but we want to make this
>>> a hard failure on our CI machines. Kconfig knob is the easiest to roll
>>> out to all machines.
>>
>> Wouldn't a module parameter be more useful then, as an opt-in
>> to catch these violations.
>>
>> Nobody is going to know wtf to set this kconfig option to.
> 
> They're all hidden behind an overall i915 debugging option which tells you
> not to enable it. You won't see this.

OK, that does improve things a bit.

-- 
Jens Axboe



Re: [PATCH] drm/i915: Make vblank evade warnings optional

2017-05-08 Thread Daniel Vetter
On Sun, May 07, 2017 at 08:12:52PM +0300, ville.syrj...@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


Re: [PATCH] drm/i915: Make vblank evade warnings optional

2017-05-08 Thread Daniel Vetter
On Sun, May 07, 2017 at 08:12:52PM +0300, ville.syrj...@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


Re: [PATCH] drm/i915: Make vblank evade warnings optional

2017-05-08 Thread Daniel Vetter
On Sun, May 07, 2017 at 07:52:14PM -0600, Jens Axboe wrote:
> On 05/07/2017 11:56 AM, Daniel Vetter wrote:
> > On Sun, May 7, 2017 at 7:46 PM, Jens Axboe  wrote:
> >> On 05/07/2017 11:12 AM, ville.syrj...@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.
> >>
> >> Shouldn't it just be a debug printk or something instead, so that normal
> >> people don't see it, but the folks that turn on debugging can get the
> >> info they need? Seems silly to add a kconfig option for this.
> > 
> > I guess we could keep it as debug for users, but we want to make this
> > a hard failure on our CI machines. Kconfig knob is the easiest to roll
> > out to all machines.
> 
> Wouldn't a module parameter be more useful then, as an opt-in
> to catch these violations.
> 
> Nobody is going to know wtf to set this kconfig option to.

They're all hidden behind an overall i915 debugging option which tells you
not to enable it. You won't see this.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


Re: [PATCH] drm/i915: Make vblank evade warnings optional

2017-05-08 Thread Daniel Vetter
On Sun, May 07, 2017 at 07:52:14PM -0600, Jens Axboe wrote:
> On 05/07/2017 11:56 AM, Daniel Vetter wrote:
> > On Sun, May 7, 2017 at 7:46 PM, Jens Axboe  wrote:
> >> On 05/07/2017 11:12 AM, ville.syrj...@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.
> >>
> >> Shouldn't it just be a debug printk or something instead, so that normal
> >> people don't see it, but the folks that turn on debugging can get the
> >> info they need? Seems silly to add a kconfig option for this.
> > 
> > I guess we could keep it as debug for users, but we want to make this
> > a hard failure on our CI machines. Kconfig knob is the easiest to roll
> > out to all machines.
> 
> Wouldn't a module parameter be more useful then, as an opt-in
> to catch these violations.
> 
> Nobody is going to know wtf to set this kconfig option to.

They're all hidden behind an overall i915 debugging option which tells you
not to enable it. You won't see this.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


Re: [PATCH] drm/i915: Make vblank evade warnings optional

2017-05-07 Thread Jens Axboe
On 05/07/2017 11:56 AM, Daniel Vetter wrote:
> On Sun, May 7, 2017 at 7:46 PM, Jens Axboe  wrote:
>> On 05/07/2017 11:12 AM, ville.syrj...@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.
>>
>> Shouldn't it just be a debug printk or something instead, so that normal
>> people don't see it, but the folks that turn on debugging can get the
>> info they need? Seems silly to add a kconfig option for this.
> 
> I guess we could keep it as debug for users, but we want to make this
> a hard failure on our CI machines. Kconfig knob is the easiest to roll
> out to all machines.

Wouldn't a module parameter be more useful then, as an opt-in
to catch these violations.

Nobody is going to know wtf to set this kconfig option to.

-- 
Jens Axboe



Re: [PATCH] drm/i915: Make vblank evade warnings optional

2017-05-07 Thread Jens Axboe
On 05/07/2017 11:56 AM, Daniel Vetter wrote:
> On Sun, May 7, 2017 at 7:46 PM, Jens Axboe  wrote:
>> On 05/07/2017 11:12 AM, ville.syrj...@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.
>>
>> Shouldn't it just be a debug printk or something instead, so that normal
>> people don't see it, but the folks that turn on debugging can get the
>> info they need? Seems silly to add a kconfig option for this.
> 
> I guess we could keep it as debug for users, but we want to make this
> a hard failure on our CI machines. Kconfig knob is the easiest to roll
> out to all machines.

Wouldn't a module parameter be more useful then, as an opt-in
to catch these violations.

Nobody is going to know wtf to set this kconfig option to.

-- 
Jens Axboe



Re: [PATCH] drm/i915: Make vblank evade warnings optional

2017-05-07 Thread Daniel Vetter
On Sun, May 7, 2017 at 7:46 PM, Jens Axboe  wrote:
> On 05/07/2017 11:12 AM, ville.syrj...@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.
>
> Shouldn't it just be a debug printk or something instead, so that normal
> people don't see it, but the folks that turn on debugging can get the
> info they need? Seems silly to add a kconfig option for this.

I guess we could keep it as debug for users, but we want to make this
a hard failure on our CI machines. Kconfig knob is the easiest to roll
out to all machines.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch


Re: [PATCH] drm/i915: Make vblank evade warnings optional

2017-05-07 Thread Daniel Vetter
On Sun, May 7, 2017 at 7:46 PM, Jens Axboe  wrote:
> On 05/07/2017 11:12 AM, ville.syrj...@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.
>
> Shouldn't it just be a debug printk or something instead, so that normal
> people don't see it, but the folks that turn on debugging can get the
> info they need? Seems silly to add a kconfig option for this.

I guess we could keep it as debug for users, but we want to make this
a hard failure on our CI machines. Kconfig knob is the easiest to roll
out to all machines.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch


[PATCH] drm/i915: Make vblank evade warnings optional

2017-05-07 Thread ville . syrjala
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ä 
---
 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



[PATCH] drm/i915: Make vblank evade warnings optional

2017-05-07 Thread ville . syrjala
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ä 
---
 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



Re: [PATCH] drm/i915: Make vblank evade warnings optional

2017-05-07 Thread Jens Axboe
On 05/07/2017 11:12 AM, ville.syrj...@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.

Shouldn't it just be a debug printk or something instead, so that normal
people don't see it, but the folks that turn on debugging can get the
info they need? Seems silly to add a kconfig option for this.

-- 
Jens Axboe



Re: [PATCH] drm/i915: Make vblank evade warnings optional

2017-05-07 Thread Jens Axboe
On 05/07/2017 11:12 AM, ville.syrj...@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.

Shouldn't it just be a debug printk or something instead, so that normal
people don't see it, but the folks that turn on debugging can get the
info they need? Seems silly to add a kconfig option for this.

-- 
Jens Axboe