Le mardi 19 juillet 2011 à 17:55 +1000, Benjamin Herrenschmidt a écrit : > On Tue, 2011-07-19 at 08:51 +0200, Eric Dumazet wrote: > > > > + case BPF_S_ANC_CPU: > > > +#ifdef CONFIG_SMP > > > + /* > > > + * PACA ptr is r13: > > > + * raw_smp_processor_id() = local_paca->paca_index > > > + */ > > > > This could break if one day linux supports more than 65536 cpus :) > > > > > + PPC_LHZ_OFFS(r_A, 13, > > > + offsetof(struct paca_struct, paca_index)); > > > +#else > > > + PPC_LI(r_A, 0); > > > +#endif > > > + break; > > As would our implementation of raw_smp_processor_id() and our > spinlocks :-) I don't think we need to fix that -now- but you are > welcome to add something like a > BUILD_BUG_ON(sizeof(local_paca->paca_index) != 2); as a reminder :-)
Please Matt add to your next version this check. I dont think I have to submit a one line patch later... On x86_64, cpu_number field is already 32bit, we have some time before it becomes 64bit ;) We probably should add some extra check to make sure segment doesnt change (%gs on x86_64, r13 on ppc64) on a future linux version. _______________________________________________ Linuxppc-dev mailing list [email protected] https://lists.ozlabs.org/listinfo/linuxppc-dev
