Re: ip_contrack module refuses to load...

david mosberger
2005-08-30T18:38:17Z

On 8/30/05, Luck, Tony <tony.luck@intel.com> wrote:

> At first glance it looks like ia64 should not be treating the UP
> case differently from the SMP case. UP kernels place the per-cpu
> data up in the top 64K (PERCPU_PAGE_SIZE) of the virtual address
> space mapped by DTR[1], just like SMP kernels do ...

That's true.

> 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).

--david
--
Mosberger Consulting LLC, voice/fax: 510-744-9372,
http://www.mosberger-consulting.com/
35706 Runckel Lane, Fremont, CA 94536