From: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
To: Borislav Petkov <bp@amd64.org>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"x86@kernel.org" <x86@kernel.org>, Ingo Molnar <mingo@elte.hu>,
Thomas Gleixner <tglx@linutronix.de>,
"H. Peter Anvin" <hpa@zytor.com>,
"Luck, Tony" <tony.luck@intel.com>
Subject: Re: [PATCH 5/8] x86, mce: introduce mce_sysdev_init()
Date: Mon, 20 Jun 2011 13:48:18 +0900 [thread overview]
Message-ID: <4DFED112.50903@jp.fujitsu.com> (raw)
In-Reply-To: <20110617163241.GE20010@aftab>
(2011/06/18 1:32), Borislav Petkov wrote:
>> @@ -1953,6 +1953,39 @@ static __cpuinit void mce_sysdev_remove(unsigned int cpu)
>> cpumask_clear_cpu(cpu, mce_sysdev_initialized);
>> }
>>
>> +static __init int mce_sysdev_init(void)
>> +{
>> + int err, i;
>> +
>> + zalloc_cpumask_var(&mce_sysdev_initialized, GFP_KERNEL);
>> +
>> + /* init attributes for each mce_banks */
>> + for (i = 0; i < banks; i++) {
>> + struct mce_bank *b = &mce_banks[i];
>> + struct sysdev_attribute *a = &b->attr;
>> +
>> + sysfs_attr_init(&a->attr);
>> + a->attr.name = b->attrname;
>> + snprintf(b->attrname, ATTR_LEN, "bank%d", i);
>> +
>> + a->attr.mode = 0644;
>> + a->show = show_bank;
>> + a->store = set_bank;
>> + }
>> +
>> + err = sysdev_class_register(&mce_sysdev_class);
>> + if (err)
>> + return err;
>> +
>> + for_each_online_cpu(i) {
>> + err = mce_sysdev_create(i);
>> + if (err)
>> + return err;
>> + }
>
> Yeah, let's handle the error case here and unwind to a sane state:
>
> if (err)
> goto sysdev_unwind;
> ...
>
> sysdev_unwind:
> while (--i > 0)
> mce_sysdev_remove(i);
>
Nice!
I'll do it.
Thanks,
H.Seto
next prev parent reply other threads:[~2011-06-20 4:48 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-17 8:37 [PATCH 0/8] x86, mce: misc fix/cleanups, cont Hidetoshi Seto
2011-06-17 8:40 ` [PATCH 1/8] x86, mce: stop calling del_timer_sync() from interrupt Hidetoshi Seto
2011-06-17 13:56 ` Borislav Petkov
2011-06-20 4:46 ` Hidetoshi Seto
2011-06-20 7:36 ` Borislav Petkov
2011-08-26 10:50 ` Borislav Petkov
2011-06-17 8:42 ` [PATCH 2/8] x86, mce: remove redundant mce_available() checks Hidetoshi Seto
2011-06-17 14:39 ` Borislav Petkov
2011-06-20 4:47 ` Hidetoshi Seto
2011-06-20 7:44 ` Borislav Petkov
2011-06-17 8:43 ` [PATCH 3/8] x86, mce: introduce mce_timer_add() Hidetoshi Seto
2011-06-17 15:11 ` Borislav Petkov
2011-06-17 8:44 ` [PATCH 4/8] x86, mce: rename bootparam parser Hidetoshi Seto
2011-06-17 15:41 ` Borislav Petkov
2011-06-17 22:25 ` Luck, Tony
2011-06-18 8:38 ` Borislav Petkov
2011-06-20 4:48 ` Hidetoshi Seto
2011-06-17 8:45 ` [PATCH 5/8] x86, mce: introduce mce_sysdev_init() Hidetoshi Seto
2011-06-17 16:32 ` Borislav Petkov
2011-06-20 4:48 ` Hidetoshi Seto [this message]
2011-06-17 8:46 ` [PATCH 6/8] x86, mce: introduce mce_memory_failure_process() Hidetoshi Seto
2011-06-17 16:59 ` Borislav Petkov
2011-06-17 8:49 ` [PATCH 7/8] x86, mce: rework use of TIF_MCE_NOTIFY Hidetoshi Seto
2011-06-17 8:50 ` [PATCH 8/8] x86, mce, edac: call edac_mce_parse() once per a record Hidetoshi Seto
2011-06-17 17:10 ` 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=4DFED112.50903@jp.fujitsu.com \
--to=seto.hidetoshi@jp.fujitsu.com \
--cc=bp@amd64.org \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=tglx@linutronix.de \
--cc=tony.luck@intel.com \
--cc=x86@kernel.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.