All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@linux-foundation.org>
To: Borislav Petkov <bp@alien8.de>
Cc: ShuoX Liu <shuox.liu@intel.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	andi@firstfloor.org, Yanmin Zhang <yanmin_zhang@linux.intel.com>,
	Tony Luck <tony.luck@intel.com>, Ingo Molnar <mingo@elte.hu>
Subject: Re: [PATCH v2] printk: ignore recursion_bug flag in HW error handle process
Date: Thu, 24 May 2012 15:56:11 -0700	[thread overview]
Message-ID: <20120524155611.b7aeff4d.akpm@linux-foundation.org> (raw)
In-Reply-To: <20120524061145.GA18284@liondog.tnic>

On Thu, 24 May 2012 08:11:45 +0200
Borislav Petkov <bp@alien8.de> wrote:

> > +/* HW error handle status helpers */
> > +extern atomic_t hw_error;
> > +static inline void hw_error_enter(void)
> > +{
> > +	atomic_inc(&hw_error);
> > +}
> > +
> > +static inline void hw_error_exit(void)
> > +{
> > +	atomic_dec(&hw_error);
> > +}
> > +
> > +static inline int in_hw_error(void)
> > +{
> > +	return atomic_read(&hw_error);
> > +}
> 
> Shouldn't those be generic empty functions and each arch implement their
> own with the stuff they want to do on the respective architecture when
> they get a hardware error?

This code needs documentation.

Specifically, it should clearly explain (and hence define) what a
"hardware error" *is*, and for what purpose this code exists.

Because as it stands, this interface is hopelessly vague.  Once one
sees that it is *specifically* used for handling mce within a printk,
it all makes sense.

And with that understanding comes the realisation that the interface is
poorly named.  It will not be used for any purpose other than adjusting
printk() behavior so it should mention printk() in its name and in its
comments and probably it should all be moved into printk.h.

Futhermore, this code is not really related to MCE or hardware or
anything else.  It is simply a way in which callers can suppress
printk()'s recursion check.  Callers are free to use it for reasons
other than "hardware errors".

And once all that is done, and this interface becomes part of printk()
then no, there is no need to add per-arch hooks.  An arch can call into
printk_recursion_check_disable() and printk_recursion_chack_enable() -
nice and simple.


IOW, the title of this patch should be

	[patch 1/2] printk: add interface for disabling recursion check
	[patch 2/2] x86 mce: use new printk recursion disabling interface

  reply	other threads:[~2012-05-24 22:56 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-23  1:58 [PATCH] printk: ignore recursion_bug flag when MCE in progress ShuoX Liu
2012-05-23 10:01 ` Borislav Petkov
2012-05-24  0:38   ` Yanmin Zhang
2012-05-24  5:59   ` [PATCH v2] printk: ignore recursion_bug flag in HW error handle process ShuoX Liu
2012-05-24  6:11     ` Borislav Petkov
2012-05-24 22:56       ` Andrew Morton [this message]
2012-05-25  0:30         ` Yanmin Zhang
2012-05-25  7:19           ` [PATCH 1/2] printk: add interface for disabling recursion check ShuoX Liu
2012-05-25  7:21             ` [PATCH 2/2] x86 mce: use new printk recursion disabling interface ShuoX Liu
2012-05-25  7:41               ` Borislav Petkov
2012-05-25  8:00                 ` ShuoX Liu
2012-05-28  2:07                 ` ShuoX Liu
2012-05-30  9:08                   ` Borislav Petkov
2012-05-31  0:30                     ` Yanmin Zhang
2012-06-04  3:04                     ` [PATCH v4 1/2] printk: add interface for disabling recursion check ShuoX Liu
2012-06-04  3:07                       ` [PATCH v4 2/2] x86 mce: use new printk recursion disabling interface ShuoX Liu
2012-06-22 23:41                         ` Andrew Morton
2012-06-26 20:45                           ` Borislav Petkov
2012-05-25 16:09             ` [PATCH 1/2] printk: add interface for disabling recursion check Luck, Tony
2012-05-28  0:30               ` Yanmin Zhang
2012-05-28  2:54                 ` [PATCH v3 " ShuoX Liu
2012-05-28  2:56                   ` [PATCH v3 2/2] x86 mce: use new printk recursion disabling interface ShuoX Liu
2012-06-04 17:12                     ` Borislav Petkov
2012-06-05  0:32                       ` Yanmin Zhang
2012-06-05  8:14                         ` Borislav Petkov
2012-06-05  9:53                           ` [PATCH v5 1/2] printk: add interface for disabling recursion check ShuoX Liu
2012-06-05  9:55                             ` [PATCH v5 2/2] x86 mce: use new printk recursion disabling interface ShuoX Liu
2012-06-05 15:15                               ` Borislav Petkov
2012-06-06  0:36                                 ` Yanmin Zhang
2012-06-06  8:31                                   ` [PATCH v6 1/2] printk: add interface for disabling recursion check ShuoX Liu
2012-06-06  8:34                                     ` [PATCH v6 2/2] x86 mce: use new printk recursion disabling interface ShuoX Liu
2012-06-06 15:22                                       ` Borislav Petkov
2012-06-07  2:13                                         ` Yanmin Zhang
2012-06-07  2:57                                         ` [PATCH v7 1/2] printk: add interface for disabling recursion check ShuoX Liu
2012-06-07  3:00                                           ` [PATCH v7 2/2] x86 mce: use new printk recursion disabling interface ShuoX Liu
2012-06-08 12:34                                             ` Borislav Petkov
2012-06-25  9:17                                             ` Ingo Molnar
2012-06-25 13:14                                               ` Peter Zijlstra
2012-06-26 20:43                                                 ` Borislav Petkov
2012-06-07 13:19                                           ` [PATCH v7 1/2] printk: add interface for disabling recursion check bing deng
2012-06-07 13:38                                             ` Borislav Petkov
2012-06-08 12:30                                           ` Borislav Petkov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120524155611.b7aeff4d.akpm@linux-foundation.org \
    --to=akpm@linux-foundation.org \
    --cc=andi@firstfloor.org \
    --cc=bp@alien8.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=shuox.liu@intel.com \
    --cc=tony.luck@intel.com \
    --cc=yanmin_zhang@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.