Re: [PATCH 00/18] Make common x86 arch area for i386 and x86_64 - Take 2

David Miller
2007-03-16T20:47:21Z

From: Christoph Lameter <clameter@sgi.com>
Date: Fri, 16 Mar 2007 13:15:38 -0700 (PDT)

> On Fri, 16 Mar 2007, Andi Kleen wrote:
>
> > > x86_64 is going to acquire more functionality that will not be available
> > > for i386. We plan f.e. to add virtual memmap support for x86_64. Virtual
> >
> > What advantage would that have over the current setup?
> > We already should handle holes between nodes reasonably efficiently
> > and with nonlinear memory even holes inside nodes shouldn't be a problem.
>
> It is primarily a performance improvement since the sparsemem table
> lookups would no longer be necessary and it also streamlines other
> frequent cacheline uses. These page -> page_struct and vice versa
> operations are key to the performance of various subsystem among them
> the slab allocator.

If you set the bit range small enough and don't use sparsemem-extreme,
the cost is extremely low considering the flexibility you obtain.

There are always going to be holes on large systems, there isn't
really a way to avoid this given how addressing is done on those
machines.