Re: The performance and behaviour of the anti-fragmentation related patches

Nick Piggin
2007-03-02T05:50:06Z

On Thu, Mar 01, 2007 at 09:40:45PM -0800, Christoph Lameter wrote:
> On Fri, 2 Mar 2007, Nick Piggin wrote:
>
> > So what do you mean by efficient? I guess you aren't talking about CPU
> > efficiency, because even if you make the IO subsystem submit larger
> > physical IOs, you still have to deal with 256 billion TLB entries, the
> > pagecache has to deal with 256 billion struct pages, so does the
> > filesystem code to build the bios.
>
> You do not have to deal with TLB entries if you do buffered I/O.

Where does the data come from?

> For mmapped I/O you would want to transparently use 2M TLBs if the
> page size is large.
>
> > So you are having problems with your IO controller's handling of sg
> > lists?
>
> We currently have problems with the kernel limits of 128 SG
> entries but the fundamental issue is that we can only do 2 Meg of I/O in
> one go given the default limits of the block layer. Typically the number
> of hardware SG entrie is also limited. We never will be able to put a

Seems like changing the default limits would be the easiest way to
fix it then?

As far as hardware limits go, I don't think you need to scale that
number linearly with the amount of memory you have, or even with the
IO throughput. You should reach a point where your command overhead
is amortised sufficiently, and the controller will be pipelining the
commands.