From: Ingo Molnar <mingo@elte.hu>
To: Greg KH <gregkh@suse.de>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
"Rafael J. Wysocki" <rjw@sisk.pl>,
"Srivatsa S. Bhat" <srivatsa.bhat@linux.vnet.ibm.com>,
Sergei Trofimovich <slyich@gmail.com>,
linux-kernel@vger.kernel.org, Kay Sievers <kay.sievers@vrfy.org>,
Linux PM mailing list <linux-pm@vger.kernel.org>,
Tony Luck <tony.luck@intel.com>, Borislav Petkov <bp@amd64.org>,
"tglx@linutronix.de" <tglx@linutronix.de>,
prasad@linux.vnet.ibm.com, Ming Lei <tom.leiming@gmail.com>,
Djalal Harouni <tixxdz@opendz.org>,
Borislav Petkov <borislav.petkov@amd.com>,
Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>,
Andi Kleen <ak@linux.intel.com>,
gouders@et.bocholt.fh-gelsenkirchen.de,
Marcos Souza <marcos.mage@gmail.com>,
justinmattock@gmail.com, Jeff Chua <jeff.chua.linux@gmail.com>
Subject: Re: [PATCH] mce: fix warning messages about static struct mce_device
Date: Thu, 19 Jan 2012 13:28:12 +0100 [thread overview]
Message-ID: <20120119122811.GC3936@elte.hu> (raw)
In-Reply-To: <20120118144250.GA16288@suse.de>
* Greg KH <gregkh@suse.de> wrote:
> On Wed, Jan 18, 2012 at 10:31:38AM +0100, Ingo Molnar wrote:
> >
> > * Greg KH <gregkh@suse.de> wrote:
> >
> > > On Tue, Jan 17, 2012 at 09:38:43AM +0100, Ingo Molnar wrote:
> > > >
> > > > * Greg KH <gregkh@suse.de> wrote:
> > > >
> > > > > diff --git a/arch/x86/include/asm/mce.h b/arch/x86/include/asm/mce.h
> > > > > index f35ce43..6aefb14 100644
> > > > > --- a/arch/x86/include/asm/mce.h
> > > > > +++ b/arch/x86/include/asm/mce.h
> > > > > @@ -151,7 +151,7 @@ static inline void enable_p5_mce(void) {}
> > > > >
> > > > > void mce_setup(struct mce *m);
> > > > > void mce_log(struct mce *m);
> > > > > -DECLARE_PER_CPU(struct device, mce_device);
> > > > > +extern struct device *mce_device[CONFIG_NR_CPUS];
> > > >
> > > > Minor nit, i don't think we have any other such [CONFIG_NR_CPUS]
> > > > pattern in the kernel.
> > > >
> > > > This should be something like:
> > > >
> > > > DECLARE_PER_CPU(struct device *, mce_device);
> > >
> > > That is what we used to have, but with just a static struct
> > > device. [...]
> >
> > Which was fine in itself for a per CPU data structure -
> > wouldnt the warning be fixed by memset()-ing before
> > registering the device or such, if device registry
> > absolutely needs a pre-zeroed buffer?
>
> It was already fixed that way, but the problem is that you can
> not have statically allocated 'struct device' objects in the
> system. [...]
Where does that limitation come from? Typically there's no
fundamental reason why there should be such restrictions in
place, but i might be missing something.
Although one could argue that *this* particular bug is evidence
why static allocations should be disallowed: reuse is way too
easy to mess up :-)
> > I don't object to the quick fix that gets rid of the
> > warnings, but that quick fix came at the price of leaving
> > the real bug unfixed and at the price of introducing a new
> > ugliness ;-)
>
> Nope, all of the bugs are now fixed :)
Okay :-)
> > > [...] We really don't need this to be in the per-cpu area,
> > > a flat array should be just fine, why can't we use the
> > > CONFIG_NR_CPUS value? Should we use something else?
> >
> > By that argument we don't really need PER_CPU() areas to
> > begin with, a flat [CONFIG_NR_CPUS] array is just fine,
> > right?
>
> I never said that, only for this type of variable.
There's nothing unusual about this: a percpu array of pointers
occurs in dozens of places in the kernel.
> > Would be nice if you could do that or some other equivalent
> > solution, i'd really not like to see the [CONFIG_NR_CPUS]
> > pattern to spread in the kernel, we spent a lot of time
> > getting rid of such uses ;-)
>
> Ok, I'll work on resolving this.
Thanks!
Ingo
next prev parent reply other threads:[~2012-01-19 12:28 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-16 22:40 [PATCH] mce: fix warning messages about static struct mce_device Greg KH
2012-01-17 0:14 ` Djalal Harouni
2012-01-17 0:15 ` Greg KH
2012-01-17 0:21 ` Linus Torvalds
2012-01-17 1:00 ` Greg KH
2012-01-17 8:38 ` Ingo Molnar
2012-01-17 15:51 ` Greg KH
2012-01-17 16:28 ` Greg KH
2012-01-18 9:31 ` Ingo Molnar
2012-01-18 14:42 ` Greg KH
2012-01-18 15:51 ` Alan Stern
2012-01-18 17:28 ` Luck, Tony
2012-01-18 17:54 ` Srivatsa S. Bhat
2012-01-18 18:10 ` Alan Stern
2012-01-18 18:50 ` Kay Sievers
2012-01-18 19:00 ` Luck, Tony
2012-01-18 19:31 ` Srivatsa S. Bhat
2012-01-19 12:32 ` Ingo Molnar
2012-01-19 13:29 ` Srivatsa S. Bhat
2012-01-19 15:13 ` Alan Stern
2012-01-19 19:38 ` Ingo Molnar
2012-01-19 20:52 ` Alan Stern
2012-01-19 12:28 ` Ingo Molnar [this message]
2012-01-26 23:49 ` MCE: convert static array of pointers to per-cpu variables Greg KH
2012-01-27 13:14 ` Srivatsa S. Bhat
2012-01-17 12:36 ` [PATCH] mce: fix warning messages about static struct mce_device Srivatsa S. Bhat
2012-01-17 15:52 ` Greg KH
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=20120119122811.GC3936@elte.hu \
--to=mingo@elte.hu \
--cc=ak@linux.intel.com \
--cc=borislav.petkov@amd.com \
--cc=bp@amd64.org \
--cc=gouders@et.bocholt.fh-gelsenkirchen.de \
--cc=gregkh@suse.de \
--cc=jeff.chua.linux@gmail.com \
--cc=justinmattock@gmail.com \
--cc=kay.sievers@vrfy.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=marcos.mage@gmail.com \
--cc=prasad@linux.vnet.ibm.com \
--cc=rjw@sisk.pl \
--cc=seto.hidetoshi@jp.fujitsu.com \
--cc=slyich@gmail.com \
--cc=srivatsa.bhat@linux.vnet.ibm.com \
--cc=tglx@linutronix.de \
--cc=tixxdz@opendz.org \
--cc=tom.leiming@gmail.com \
--cc=tony.luck@intel.com \
--cc=torvalds@linux-foundation.org \
/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.