Subject: Re: Faster pipes, now with uvm_loan()
To: Frank van der Linden <fvdl@wasabisystems.com>
From: Hubert Feyrer <hubert.feyrer@informatik.fh-regensburg.de>
List: tech-kern
Date: 04/10/2001 23:32:58
On Tue, 10 Apr 2001, Frank van der Linden wrote:
> On Tue, Apr 10, 2001 at 07:41:22PM +0200, Jarom=EDr Dolecek wrote:
> > I've put in another optimization - if we are not above kva limit,
> > the kva used for loaned memory is not freed, but carried over
> > and reused for next iteration. FreeBSD direct write version used
> > this technique, too. This is probably reason why they were still
> > faster compared against newpipe-1.1
> >=20
> > This improved the performance for my 386DX to 10.6 MB/sec i.e. ~2
> > times faster compared with non-optimized uvm_loan() variant. For
> > PIII, the bandwidth according to lmbench/bw_pipe and hbench/bw_pipe
> > with 64KB buffer is ~670 MB/sec, i.e. the optimization gained like
> > next 18% on PIII.
> > This would maybe bump NetBSD/i386 pipe performance for pipes with
> > 8-64KB buffer above FreeBSD :) It almost looks like too much; however,
> > none of tests I've done so far found any data corruption.
>=20
> Well, it does get performance above FreeBSD for 4k chunks (at least,
> according to hbench), but it's just below FreeBSD for sizes up
> to 64k. The difference is pretty small overall, though:
>=20
> bw_pipe:
I've updated www.feyrer.de/Misc/pipebench.gif again.
Seems we're indeed above FreeBSD for 4k pipes, but what's interresting
besides the 64k limit is the break-in at 1MB... it goes back to the old
code's behaviour there (pre new-pipe).
- Hubert
--=20
Hubert Feyrer <hubert.feyrer@informatik.fh-regensburg.de>