Subject: Re: Compressed cache system [Re: Google Summer of Code project ideas]
To: Matt Fleming <email@example.com>
From: Hubert Feyrer <firstname.lastname@example.org>
Date: 04/23/2006 01:31:44
On Sun, 23 Apr 2006, Matt Fleming wrote:
> Now this point has got me to thinking. Is the way that an object is written
> to backing store dictated by its uvm_pagerops structure? And if so, would
> creating a pseudo device with its own pager operations be a reasonable way to
> go about handling writing to the compressed cache? Surely this way the pseudo
> device would handle the compression and decompression of the pages for the
> Although I suppose it would have to be in addition to the uvm_pagerops struct
> that an object already had (or else how would the compressed cache know how
> to write to the _real_ backing store?).
> Does this seem like a feasible idea?
I don't know zero about UVM, so I cannot comment.
But I guess you'll hit a problem that pops up with vnd(4) with
VND_COMPRESSION, too: how are you going to manage your compressed storage?
"Input" data is fixed size (== pagesize), but "output" size depends on the
compression factor, and thus you'll need some way to arrange things with a
non-fixed offset. Worse, if you replace a page with something that
compresses worse, you may not be able to use available space.