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