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

Andrea Arcangeli
2002-05-02T01:00:36Z

On Thu, May 02, 2002 at 10:20:11AM +1000, Anton Blanchard wrote:
>
> > so ia64 is one of those archs with a ram layout with huge holes in the
> > middle of the ram of the nodes? I'd be curious to know what's the
> > hardware advantage of designing the ram layout in such a way, compared
> > to all other numa archs that I deal with. Also if you know other archs
> > with huge holes in the middle of the ram of the nodes I'd be curious to
> > know about them too. thanks for the interesting info!
>
> >From arch/ppc64/kernel/iSeries_setup.c:
>
> * The iSeries may have very large memories ( > 128 GB ) and a partition
> * may get memory in "chunks" that may be anywhere in the 2**52 real
> * address space. The chunks are 256K in size.
>
> Also check out CONFIG_MSCHUNKS code and see why I'd love to see a generic
> solution to this problem.

is this machine a numa machine? If not then discontigmem will work just
fine. also it's a matter of administration, even if it's a numa machine
you can use it just optimally with discontigmem+numa. Regardless of what
we do if the partitioning is bad the kernel will do bad. If you create
zillon discontigous nodes of 256K each, you'd need waste memory to
handle them regardless of nonlinear or discontigmem (with discontigmem
you will waste more memory than nonlinear yes, exactly because it's more
powerful, but I think a machine with an huge lot of non contigous 256K
chunks is misconfigured, it's like if you pretend to install linux on a
machine after you partitioned the HD with thousand of logical volumes
large 256K each [for the sake of this example let's assume there are
more than 256LV available in LVM], a sane partitioning requires you to
have at least a partition for /usr large 1 giga, depends what you're
doing of course, but requiring sane partitioning it's an admin problem
not a kernel problem IMHO).

Andrea