Subject: newpipes 1.5
To: None <tech-kern@netbsd.org>
From: Jaromír <jdolecek@netbsd.org>
List: tech-kern
Date: 06/06/2001 11:58:21
Hi,
the newpipe stuff has being worked on little more. The newest and greatest
version is available at
	ftp://ftp.netbsd.org/pub/NetBSD/misc/jdolecek/newpipe-1.5.tgz

It's a tar archive with patch and two files which need to be moved
to appropriate place. See further instructions at
	ftp://ftp.netbsd.org/pub/NetBSD/misc/jdolecek/README.newpipe

I'd like to import this into tree soon, probably sometime next week, unless
any serious problems would be found.

Changes since last version:
1) merged in the FreeBSD changes since their rev. 1.60 up to most-current
   rev 1.81 (FreeBSD-specific stuff is within #ifdef __FreeBSD__; this
   includes the kqueue); this includes slighly different way of dealing
   with failures to obtain kva for pipe buffers - I've adopted the FreeBSD
   code, to avoid needless divergence
2) pipe limits are sysctlable, amount of consumed kva is available via
   sysctl too (need to rebuild sysctl(8) of course).
3) fixed O_ASYNC/SIGIO - react to correct ioctl, and deal with
   pid/gid correctly; though this seems to work okay for tests I've done
   so far, I'd need to do some more tests to ensure this really works ok
   for all cases
4) lockmgr(9)-type locks for pipelock()/pipeunlock() - currently disabled
   (#if 0), since using lockmgr(9) locks resulted in like 11% performance
   drop on my 386DX; seems if we want to use lockmgr(9), it needs some tuning
   for LK_EXCLUSIVE-only locks.
5) pipe_map.ms[] memory leak fixed for direct write (loan)

I've started some talks with FreeBSD folks about merging our changes
back to FreeBSD tree. This would include fix to the O_ASYNC handling once I'd
fully track that down [*]

This version doesn't include SMP fixes, since I've not received any yet.

Please test this out, and let me/list know if you find any problems.
Note I'd be able to reply on Jun 11th soonest.

Jaromir

 [*] See 'struct emul modification' thread on tech-kern@; FreeBSD doesn't
    seem to send SIGIO for pipes in one particular case 
-- 
Jaromir Dolecek <jdolecek@NetBSD.org>      http://www.ics.muni.cz/~dolecek/
NetBSD - just plain best OS! -=*=- Got spare MCA cards or docs? Hand me them!