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. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/