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

From: Daniel Phillips (phillips@bonn-fries.net)
Date: Thu May 02 2002 - 13:25:35 EST


On Thursday 02 May 2002 18:40, Andrea Arcangeli wrote:
> On Thu, May 02, 2002 at 09:10:00AM -0700, Martin J. Bligh wrote:
> > > 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.
> > >
> > > The constraints you have on the normal memory are only two:
> > >
> > > 1) direct mapping
> > > 2) DMA
> > >
> > > so as far as the ram is capable of 32bit DMA with pci32 and it's mapped
> > > in the direct mapping you can put it into the normal zone. There is no
> > > difference at all between discontimem or nonlinear in this sense.
> >
> > Now imagine an 8 node system, with 4Gb of memory in each node.
> > First 4Gb is in node 0, second 4Gb is in node 1, etc.
> >
> > Even with 64 bit DMA, the real problem is breaking the assumption
> > that mem between 0 and 896Mb phys maps 1-1 onto kernel space.
> > That's 90% of the difficulty of what Dan's doing anyway, as I
> > see it.
>
> You don't need any additional common code abstraction to make virtual
> address 3G+256G to point to physical address 1G as in my example above,
          M ----^
> after that you're free to put the physical ram between 1G and 1G+256M
> into the zone normal of node 1 and the stuff should keep working but
> with zone-normal spread in more than one node.

I don't see that you accomplished that at all, with config_discontig.
How can you address the memory at 3G+256M? That looks like highmem to
me. No good at all for kmem caches, buffers, struct pages, etc.
Without config_nonlinear, those structures will all have to be off-node
for most nodes.

-- 
Daniel
-
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/



This archive was generated by hypermail 2b29 : Tue May 07 2002 - 22:00:14 EST