Re: [PATCH v4 0/2] Move x86_cpu_to_apicid to the __read_mostlysection
From: Ingo Molnar
Date: Mon May 21 2012 - 16:20:03 EST
* Vlad Zolotarov <vlad@xxxxxxxxxxx> wrote:
> On Monday, May 21, 2012 17:23:48 Ingo Molnar wrote:
> > * Vlad Zolotarov <vlad@xxxxxxxxxxx> wrote:
> > > Pls., consider applying this patch series.
> > >
> > > It contains the following changes:
> > > - Adds two new macros DEFINE_EARLY_PER_CPU_READ_MOSTLY() and
> > >
> > > DECLARE_EARLY_PER_CPU_READ_MOSTLY().
> > >
> > > - Adds "read-mostly" qualifier to the following variables in smp.h:
> > > - cpu_sibling_map
> > > - cpu_core_map
> > > - cpu_llc_shared_map
> > > - cpu_llc_id
> > > - cpu_number
> > > - x86_cpu_to_apicid
> > > - x86_bios_cpu_apicid
> > > - x86_cpu_to_logical_apicid
> > >
> > > As long as all the variables above are only written during the
> > > initialization, this change is meant to prevent the false
> > > sharing and improve the performance on large multiprocessor
> > > systems.
> >
> > Why have you resent this? The feedback I gave has not been
> >
> > addressed:
>
> Hmmm... I'm a bit confused. There were two feedbacks/threads:
> one on "Signed- off-by" format and the other where u asked for
> a justification on a vSMP side.
>
> The signed-off format sounded to me as a clear blocker for a
> series so I fixed it and respined. I also mentioned it in
> patch0.
Well, you need to address all blockers before we can proceed.
> The second thread seams like getting to submitting a separate
> patch with a doc under Documents and vSMP testing results
> explaining and justifying when and were per-CPU and/or
> __read_mostly variables should be used.
No. As I said I'm not convinced that there are fewer read-mostly
than read-write percpu variables. Please:
> Well, a quick tally of percpu variables on a 'make defconfig'
> kernel would tell us one way or another?
>
> Here there's almost 200 percpu variables active in the 64-bit
> x86 defconfig, and a quick random sample suggests that most
> are read-mostly.
>
> I have no fundamental prefer to either approach, but the
> direction taken should be justified explicitly, with numbers,
> arguments, etc. - also a short blurb somewhere in the headers
> that explains when they should be used, so that others can be
> aware of vSMP's special needs here.
I.e. *numbers* are needed: roughly how many percpu variables in
a defconfig of one type versus the other type. This settles the
question whether we want to identify read-mostly or
write-frequently variables, to address this particular problem
...
Thanks,
Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/