Re: Bug: Discontigmem virt_to_page() [Alpha,ARM,Mips64?]

Daniel Phillips
2002-05-02T23:43:08Z

On Thursday 02 May 2002 18:06, Andrea Arcangeli wrote:
> On Wed, May 01, 2002 at 05:42:40PM +0200, Daniel Phillips wrote:
> > On Thursday 02 May 2002 17:35, Andrea Arcangeli wrote:
> > > On Thu, May 02, 2002 at 08:18:33AM -0700, Martin J. Bligh wrote:
> > > > At the moment I use the contig memory model (so we only use discontig for
> > > > NUMA support) but I may need to change that in the future.
> > >
> > > I wasn't thinking at numa-q, but regardless numa-Q fits perfectly into
> > > the current discontigmem-numa model too as far I can see.
> >
> > No it doesn't. The config_discontigmem model forces all zone_normal memory
> > to be on node zero, so all the remaining nodes can only have highmem locally.
>
> You can trivially map the phys mem between 1G and 1G+256M to be in a
> direct mapping between 3G+256M and 3G+512M, then you can put such 256M
> at offset 1G into the ZONE_NORMAL of node-id 1 with discontigmem too.

Andrea, I'm re-reading this and I'm guilty of misreading your 3G+512M, what
you meant is PAGE_OFFSET+512M. Yes, in fact this is exactly what
config_nonlinear does. Config_discontigmem does not do this, not without
your 'trivial map', and that's all config_nonlinear is: a trivial map done
in an organized way. This same trivial mapping is capable of replacing all
known non-numa uses of config_discontigmem.

--
Daniel