Subject: Re: vnd: improving support for compressed images
To: None <tech-kern@NetBSD.org>
From: der Mouse <mouse@Rodents.Montreal.QC.CA>
List: tech-kern
Date: 06/30/2007 00:41:13
> 3) create a pass-to-userspace disk framework (like puffs, but for
>    disks) and implement everything in user space.

I did this years ago (for 1.4T, of course); my code has some peculiar
cache interaction bugs I never did manage to track down, which render
it broken on the SS20.  But, based on my experience with that, I
believe that to get acceptable performance, you'll need to either allow
multiple transfers to be outstanding at once (ie, the kernel requesting
a second transfer from userland before a first has finished) or you'll
have to collapse multiple adjacent transfers in the same direction into
a single request to userland.  My code did neither and it was
*execrably* slow.  (But, on machines where it didn't upset the cache,
it worked, and I even found a few real uses for it.)

/~\ The ASCII				der Mouse
\ / Ribbon Campaign
 X  Against HTML	       mouse@rodents.montreal.qc.ca
/ \ Email!	     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B