Re: discontiguous memory platforms

Daniel Phillips
2002-05-02T20:21:44Z

On Thursday 02 May 2002 21:40, Roman Zippel wrote:
> Daniel Phillips wrote:
>
> > Patching the kernel how, and where?
>
> Check for example in asm-ppc/page.h the __va/__pa functions.

OK, by 'patching the kernel' you must mean 'initialize the m68k_memory array'.

The loop you use does have one advantage: it can handle size variation vs a
shift-lookup strategy. It's a lot more expensive though, and these are
heavily used operations.

> > > Anyway, I agree with Andrea, that another mapping isn't really needed.
> > > Clever use of the mmu should give you almost the same result.
> >
> > We *are* making clever use of the mmu in config_nonlinear, it is doing the
> > nonlinear kernel virtual mapping for us. Did you have something more clever
> > in mind?
>
> I mean to map the memory where you need it. The physical<->virtual
> mapping won't be one to one, but you won't need another abstraction and
> the current vm is already basically able to handle it.

I'll accept 'not needed for 68K', though I guess config_nonlinear will work
perfectly well for you and be faster than the loops. However, some of the
problems that config_nonlinear solves cannot be solved by any existing kernel
mechanism. We've been over the NUMA-Q and mips32 cases in detail, so I won't
reiterate.

Thanks for your input.

--
Daniel