Re: [PATCH 2/2] drm/i915: make debug printer shown_bug_once variable to drm_i915_private

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 11 Dec 2019, Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> wrote:
> Quoting Jani Nikula (2019-12-11 12:36:10)
>> On Fri, 15 Nov 2019, Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> wrote:
>> > Quoting Jani Nikula (2019-11-15 11:04:28)
>> >> On Fri, 15 Nov 2019, Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> wrote:
>> >> > Quoting Jani Nikula (2019-11-15 10:18:40)
>> >> >> Get rid of the module specific static variable.
>> >> >> 
>> >> >> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
>> >> >> ---
>> >> >>  drivers/gpu/drm/i915/i915_drv.h   | 2 ++
>> >> >>  drivers/gpu/drm/i915/i915_utils.c | 9 ++++-----
>> >> >>  2 files changed, 6 insertions(+), 5 deletions(-)
>> >> >> 
>> >> >> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
>> >> >> index 1779f600fcfb..e11ee3268ae3 100644
>> >> >> --- a/drivers/gpu/drm/i915/i915_drv.h
>> >> >> +++ b/drivers/gpu/drm/i915/i915_drv.h
>> >> >> @@ -1283,6 +1283,8 @@ struct drm_i915_private {
>> >> >>         /* Mutex to protect the above hdcp component related values. */
>> >> >>         struct mutex hdcp_comp_mutex;
>> >> >>  
>> >> >> +       bool shown_bug_once;
>> >> >> +
>> >> >>         I915_SELFTEST_DECLARE(struct i915_selftest_stash selftest;)
>> >> >>  
>> >> >>         /*
>> >> >> diff --git a/drivers/gpu/drm/i915/i915_utils.c b/drivers/gpu/drm/i915/i915_utils.c
>> >> >> index c47261ae86ea..f434274b0b29 100644
>> >> >> --- a/drivers/gpu/drm/i915/i915_utils.c
>> >> >> +++ b/drivers/gpu/drm/i915/i915_utils.c
>> >> >> @@ -13,11 +13,10 @@
>> >> >>                     "providing the dmesg log by booting with drm.debug=0xf"
>> >> >>  
>> >> >>  void
>> >> >> -__i915_printk(struct drm_i915_private *dev_priv, const char *level,
>> >> >> +__i915_printk(struct drm_i915_private *i915, const char *level,
>> >> >>               const char *fmt, ...)
>> >> >>  {
>> >> >> -       static bool shown_bug_once;
>> >> >> -       struct device *kdev = dev_priv->drm.dev;
>> >> >> +       struct device *kdev = i915->drm.dev;
>> >> >>         bool is_error = level[1] <= KERN_ERR[1];
>> >> >>         bool is_debug = level[1] == KERN_DEBUG[1];
>> >> >>         struct va_format vaf;
>> >> >> @@ -39,7 +38,7 @@ __i915_printk(struct drm_i915_private *dev_priv, const char *level,
>> >> >>  
>> >> >>         va_end(args);
>> >> >>  
>> >> >> -       if (is_error && !shown_bug_once) {
>> >> >> +       if (is_error && !i915->shown_bug_once) {
>> >> >>                 /*
>> >> >>                  * Ask the user to file a bug report for the error, except
>> >> >>                  * if they may have caused the bug by fiddling with unsafe
>> >> >> @@ -47,7 +46,7 @@ __i915_printk(struct drm_i915_private *dev_priv, const char *level,
>> >> >>                  */
>> >> >>                 if (!test_taint(TAINT_USER))
>> >> >>                         dev_notice(kdev, "%s", FDO_BUG_MSG);
>> >> >
>> >> > I feel this plea to the users to file a bug report should be a one-time
>> >> > thing; a true global.
>> >> 
>> >> Fair enough.
>> >> 
>> >> I am wondering if we should have a convention of naming or commenting
>> >> legit globals, both to help automation detecting new accidental ones,
>> >> and to help people figure out not to send another conversion patch such
>> >> as this.
>> >
>> > global_i915_show_bug_once
>> > module_i915_show_bug_once
>> 
>> I'd be fine with either of the prefixes. Or i915_{global,module}_ for
>
> My vote goes for i915_global_* or global_i915_* (if we could get some
> Kbuild infrastructure behind detecting global variables).

Chris suggested simply module_ or global_ on IRC (without i915 to not
mislead to thinking it's about the i915 instance). I tend to lean
towards module_ a bit because global implies visibility while here we do
mean static variables too.

BR,
Jani.


-- 
Jani Nikula, Intel Open Source Graphics Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx



[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux