Messages in this thread | | | Date | Wed, 8 Feb 2006 05:40:41 +0100 | From | Heiko Carstens <> | Subject | Re: [PATCH] percpu data: only iterate over possible CPUs |
| |
> > I am looking at 2.6.16-rc1 and I don't see cpu_possible_map > > being set in setup_smp() > > You're right, my bad. I looked at setup_smp() and how it walked through > every CPU in the firmware, but it doesn't actually ever set the possible > map, it fills in just hwrpb_cpu_present_mask (which is then then only used > _later_ to set cpu_possible_map for some silly reason). > > As far as I can tell, "hwrpb_cpu_present_mask" is just wrong, and the code > _should_ be using cpu_possible_map.
We still have this one in init/main.c:
/* Sets up cpus_possible() */ smp_prepare_cpus(max_cpus);
That is actually why s390 is doing this in smp_prepare_cpus. We also use the passed value of max_cpus to set the number of bits in cpu_possible_map accordingly. This isn't possible anymore if this should be done in setup_arch.
So it looks like we have to switch to setup_arch and set NR_CPUS bits in cpu_possible_map on s390.
Heiko - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |