The module-loader does it's own UP special-casing. For example, percpu_modcopy() is a dummy routine in the UP case, apparently because there is not supposed to be any per-CPU module data for the UP case.
--david On 8/30/05, Luck, Tony <[EMAIL PROTECTED]> wrote: > > >> so all the > >> space allocation, mapping, and relocation code should be the same > >> for UP and SMP ... shouldn't they? > > > >No, in the UP case, we can simply map the per-CPU section in the > >kernel image whereas in the SMP case, each CPU needs its own copy of > >the per-CPU section. To see this, look for per_cpu_init(): in the SMP > >case, it copies the section, in the UP-case, it simply returns > >__phys_per_cpu_start (a pointer into the per-CPU section). > > You are (as usual) correct. > > But this shouldn't make any difference for the module loading > case ... whether the memory backing the per-cpu area is physically > within a special section in the kernel data, or allocated from > __alloc_bootmem() in a big array for all cpus (mm/contig.c case), > or done in scattered allocations across nodes (mm/discontig.c case). > So, if the module loader has special UP code, then it shouldn't. > > -Tony > -- Mosberger Consulting LLC, voice/fax: 510-744-9372, http://www.mosberger-consulting.com/ 35706 Runckel Lane, Fremont, CA 94536 - To unsubscribe from this list: send the line "unsubscribe linux-ia64" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
