Re: More problems in setup_pcpu_remap()

From: David Miller
Date: Thu Apr 02 2009 - 03:07:31 EST


From: Tejun Heo <tj@xxxxxxxxxx>
Date: Thu, 02 Apr 2009 14:55:48 +0900

> David Miller wrote:
> > It would make more sense to carve up 2MB chunks into some-power-of-2
> > pieces and use that as the unit size.
> >
> > You could retain the NUMA goals of this function, as well as the
> > ability to be using 2MB pages in the TLBs.
>
> Can you please elaborate a bit?
>
> > And consider that if the dynamic allocation part of this code triggers
> > even once, you'll end up eating twice as much VMALLOC space.
> >
> > Using 2MB per cpu is just rediculious, and really not even necessary.
>
> The focus at the moment is using large page for the first chunk to
> reduce pressure on TLB, not necessarily actually using 2MB for each
> unit.

You'll get better TLB hit rates with my suggestion.

The idea is to carve up a 2MB page amongst consequetive cpus in
the same NUMA node.

With hyperthreading these cpus will be sharing the TLB, so you'll
get better TLB hit rates than the current code.

I'm going to do something like this on sparc64. This x86 code is
severely demotivating me, so I'll stop looking at it now :-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/