[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v5 1/6] xen: Add convenient macro boot_cpu
On Thu, 2014-05-08 at 11:00 +0100, Jan Beulich wrote: > >>> On 08.05.14 at 11:55, <Ian.Campbell@xxxxxxxxxx> wrote: > > On Fri, 2014-05-02 at 16:57 +0100, Andrew Cooper wrote: > >> On 02/05/14 16:52, Julien Grall wrote: > >> > The macro boot_cpu will be used to get CPU variable from the boot CPU. > >> > > >> > Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> > >> > Suggested-by: Ian Campbell <ian.campbell@xxxxxxxxxx> > >> > Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> > >> > Cc: Jan Beulich <jbeulich@xxxxxxxx> > >> > Cc: Keir Fraser <keir@xxxxxxx> > >> > --- > >> > xen/include/xen/percpu.h | 3 +++ > >> > 1 file changed, 3 insertions(+) > >> > > >> > diff --git a/xen/include/xen/percpu.h b/xen/include/xen/percpu.h > >> > index abe0b11..0e848bf 100644 > >> > --- a/xen/include/xen/percpu.h > >> > +++ b/xen/include/xen/percpu.h > >> > @@ -16,6 +16,9 @@ > >> > /* Preferred on Xen. Also see arch-defined per_cpu(). */ > >> > #define this_cpu(var) __get_cpu_var(var) > >> > > >> > +/* Access variable on boot CPU */ > >> > +#define boot_cpu(var) per_cpu(var, 0) > >> > + > >> > >> What is this actually used for? > >> > >> In x86 with arbitrary cpu hotplug, we are trying to move away from the > >> false assumption than cpu0 is the boot cpu. Actual boot data is stored > >> sideways as boot_$FOO variables, and not accessed with the per-cpu > >> mechanism. > > > > Presumably in that case you would want it to expand into > > per_cpu(var, somevar_with_boot_cpu_nr_in_it) > > and being able to write that as boot_cpu would be preferable to open > > coding, especially since people would forever be writing 0, at least > > this way its in one place. > > Except that in the general case you shouldn't even assume that the > boot CPU is still online, i.e. such a macro might "point" into nowhere. That's a good argument. Ian. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |