Re: Coallesce disk I/O (was RE: Interactive responsiveness under heavy I/O load)

Alfred Perlstein <[email protected]> Mon, 26 Jan 2004 18:28:19 -0800
Newsgroups gmane.os.netbsd.devel.performance,gmane.os.netbsd.devel.kernel
Message-ID <[email protected]>
* Thor Lancelot Simon <[email protected]> [040126 17:15] wrote:
> 
> I personally find this quite useful -- and it should be possible to do
> entirely using MI calls into the UVM subsystem.  The problem is that
> I/O coalescing by creating page aliases using the MMU is incredibly
> inefficient on some architectures, either because of the cache flushing
> it forces or because of the cost of MMU operations.  For that reason,
> a number of developers are strongly opposed to integrating *that
> particular* kind of I/O coalescing implementation into NetBSD.

Yes, the remapping stuff is wasteful because typically this happens:

bufs are mapped to a "super buf" and handed to a driver,
the driver then does VTOPHYS to be able to DMA the data.

so the mapping is useless.

It wouldn't be that difficult to pass a SG list down to drivers that
support it.

And that support could be optional based on a callback from the
driver saying "I can take the SG list input".

-- 
- Alfred Perlstein
- Research Engineering Development Inc.
- email: [email protected] cell: 408-480-4684