From: Ingo Molnar <mingo@elte.hu>
To: Kevin Winchester <kjwinchester@gmail.com>
Cc: Borislav Petkov <bp@alien8.de>,
Nick Bowler <nbowler@elliptictech.com>,
Randy Dunlap <rdunlap@xenotime.net>,
"H. Peter Anvin" <hpa@zytor.com>,
Thomas Gleixner <tglx@linutronix.de>,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: MCE, AMD: Hide smp-only code around CONFIG_SMP
Date: Sat, 11 Feb 2012 15:07:37 +0100 [thread overview]
Message-ID: <20120211140737.GA26637@elte.hu> (raw)
In-Reply-To: <CAELBVzBAYRYWsO=PpwQhi0=_hejdLaq5Yci8uC_NT12KiFLb4w@mail.gmail.com>
* Kevin Winchester <kjwinchester@gmail.com> wrote:
> On 9 February 2012 04:06, Ingo Molnar <mingo@elte.hu> wrote:
> >
> > * Borislav Petkov <bp@alien8.de> wrote:
> >
> >> +++ b/arch/x86/include/asm/smp.h
> >> @@ -33,8 +33,15 @@ static inline bool cpu_has_ht_siblings(void)
> >>
> >> DECLARE_PER_CPU(cpumask_var_t, cpu_sibling_map);
> >> DECLARE_PER_CPU(cpumask_var_t, cpu_core_map);
> >> -/* cpus sharing the last level cache: */
> >> +
> >> +#ifdef CONFIG_SMP
> >> +/* CPUs sharing the last level cache: */
> >> DECLARE_PER_CPU(cpumask_var_t, cpu_llc_shared_map);
> >> +#else
> >> +static DECLARE_BITMAP(cpu_llc_shared_bits, NR_CPUS) __read_mostly = { [0] = 1UL };
> >> +static struct cpumask *const cpu_llc_shared_map = to_cpumask(cpu_llc_shared_bits);
> >> +#endif
> >
> > Why not just expose it like on SMP?
> >
> > We want to *reduce* the specialness of UP, not increase it - one
> > more word of .data and .text does not matter much - UP is
> > becoming more and more an oddball, rarely tested config. By the
> > time these changes hit any real boxes it will be even more
> > oddball.
> >
>
> It seems that cpu_llc_shared_map is actually defined in
> arch/x86/kernel/smpboot.c, which is not compiled/linked for UP
> builds.
> Is there an equivalent file for UP that could be used
> instead, or could the:
>
> DEFINE_PER_CPU(cpumask_var_t, cpu_llc_shared_map);
>
> be moved to some other file?
Yes, it should be moved into struct cpuinfo_x86, and thus we'd
remove cpu_llc_shared_map altogether, it would be named
cpu->llc_shared_map or so - taking up a single bit (or maybe
zero bits) on UP.
> Generally, it sounds like you might approve of an eventual
> merging of the boot paths for SMP and UP. Is that true? I
> wonder how much work that would be. That would really reduce
> the specialness of UP.
I generally approve just about any patch that works and reduces
complexity! :-) The boot path is rather ambitious, but if you
want to try, feel free ...
Thanks,
Ingo
next prev parent reply other threads:[~2012-02-11 14:07 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-02 19:10 [PATCH] MCE, AMD: Select SMP explicitly Borislav Petkov
2012-02-02 19:37 ` Nick Bowler
2012-02-02 20:24 ` Borislav Petkov
2012-02-03 19:18 ` MCE, AMD: Hide smp-only code around CONFIG_SMP Borislav Petkov
2012-02-03 22:05 ` Randy Dunlap
2012-02-07 9:57 ` Ingo Molnar
2012-02-08 0:41 ` Kevin Winchester
2012-02-08 10:19 ` Borislav Petkov
2012-02-08 12:22 ` Kevin Winchester
2012-02-08 13:05 ` Borislav Petkov
2012-02-09 8:06 ` Ingo Molnar
2012-02-10 0:00 ` Kevin Winchester
2012-02-11 14:07 ` Ingo Molnar [this message]
2012-02-12 0:24 ` [PATCH] x86: Move per cpu cpu_llc_shared_map to a field in struct cpuinfo_x86 Kevin Winchester
2012-02-12 2:18 ` Kevin Winchester
2012-02-12 11:19 ` Ingo Molnar
2012-02-14 0:12 ` [PATCH v2] " Kevin Winchester
2012-02-17 11:56 ` Ingo Molnar
2012-02-17 13:12 ` Kevin Winchester
2012-02-21 2:06 ` [PATCH 0/5] x86: Cleanup and simplify cpu-specific data Kevin Winchester
2012-02-21 2:06 ` [PATCH 1/5] x86: Move per cpu cpu_llc_shared_map to a field in struct cpuinfo_x86 Kevin Winchester
2012-02-21 15:42 ` Borislav Petkov
2012-02-21 2:06 ` [PATCH 2/5] x86: Move per cpu cpu_llc_id " Kevin Winchester
2012-02-21 10:37 ` Borislav Petkov
2012-02-21 10:40 ` Borislav Petkov
2012-02-21 2:06 ` [PATCH 3/5] x86: Move per cpu cpu_sibling_map " Kevin Winchester
2012-02-21 11:35 ` Borislav Petkov
2012-02-21 2:06 ` [PATCH 4/5] x86: Move per cpu cpu_core_map " Kevin Winchester
2012-02-21 14:21 ` Borislav Petkov
2012-02-21 2:06 ` [PATCH 5/5] x86: Remove #ifdef CONFIG_SMP sections by moving smp_num_siblings into common.c Kevin Winchester
2012-02-21 15:39 ` Borislav Petkov
2012-02-22 1:44 ` Kevin Winchester
2012-02-22 1:45 ` [PATCH v2 0/5] x86: Cleanup and simplify cpu-specific data Kevin Winchester
2012-02-22 1:45 ` [PATCH v2 1/5] x86: Move per cpu cpu_llc_shared_map to a field in struct cpuinfo_x86 Kevin Winchester
2012-02-22 6:39 ` H. Peter Anvin
2012-02-22 9:27 ` Ingo Molnar
2012-02-22 12:24 ` Kevin Winchester
2012-02-22 23:32 ` [PATCH v3 0/5] x86: Cleanup and simplify cpu-specific data Kevin Winchester
2012-02-22 23:32 ` [PATCH v3 1/5] x86: Move per cpu cpu_llc_shared_map to a field in struct cpuinfo_x86 Kevin Winchester
2012-02-22 23:32 ` [PATCH v3 2/5] x86: Move per cpu cpu_llc_id " Kevin Winchester
2012-02-22 23:32 ` [PATCH v3 3/5] x86: Move per cpu cpu_sibling_map " Kevin Winchester
2012-02-22 23:32 ` [PATCH v3 4/5] x86: Move per cpu cpu_core_map " Kevin Winchester
2012-02-22 23:32 ` [PATCH v3 5/5] x86: Remove #ifdef CONFIG_SMP sections by moving smp_num_siblings into common.c Kevin Winchester
2012-02-22 23:43 ` [PATCH v3 0/5] x86: Cleanup and simplify cpu-specific data Kevin Winchester
2012-02-23 7:32 ` Ingo Molnar
2012-02-22 1:45 ` [PATCH v2 2/5] x86: Move per cpu cpu_llc_id to a field in struct cpuinfo_x86 Kevin Winchester
2012-02-22 1:45 ` [PATCH v2 3/5] x86: Move per cpu cpu_sibling_map " Kevin Winchester
2012-02-22 1:45 ` [PATCH v2 4/5] x86: Move per cpu cpu_core_map " Kevin Winchester
2012-02-22 1:45 ` [PATCH v2 5/5] x86: Remove #ifdef CONFIG_SMP sections by moving smp_num_siblings into common.c Kevin Winchester
2012-02-12 11:23 ` [PATCH] x86: Move per cpu cpu_llc_shared_map to a field in struct cpuinfo_x86 Borislav Petkov
2012-02-12 0:31 ` MCE, AMD: Hide smp-only code around CONFIG_SMP Kevin Winchester
2012-02-22 16:13 ` [tip:x86/urgent] x86/mce/AMD: Fix UP build error tip-bot for 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=20120211140737.GA26637@elte.hu \
--to=mingo@elte.hu \
--cc=bp@alien8.de \
--cc=hpa@zytor.com \
--cc=kjwinchester@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=nbowler@elliptictech.com \
--cc=rdunlap@xenotime.net \
--cc=tglx@linutronix.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome