lkml.org 
[lkml]   [2004]   [Mar]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subjectfast compressed fs (was Re: -nice tree)
Hi!

> > How?
>
> Run two parallel tasks: 1. write pages to disk by queuing the I/Os;
> 2. compress unqueued pages.
>
> The first task won't use much CPU because it's always waiting for disk
> DMAs to complete. While it sleeps, the second task runs.
> Alternatively this can be implemented using polling for I/O
> completions in the second task, if that's easier.
>
> The first task should keep the I/O queue full enough to sustain
> writing, but not much fuller than that. Either a fixed queue length
> will be fine, or it is easy to adjust the queue length dynamically by
> enlarging it if any I/O completions occur when the queue is empty.
>
> The second task consumes uncompressed pages and makes available
> compressed pages.
>
> When the first task wants to queue more pages for I/O, it first checks
> the compressed-page list. If there are any, they are queued,
> otherwise it consumes uncompressed pages.
>
> This will automatically converge on an optimal balance between
> compressed and uncompressed page writing, provided the disk is using
> DMA, which they do on all modern system.
>
> This is actually better than fully enabling or disabling compression.

Very clever. This even could be used for a filesystem to make writes faster...
Hmm, compressed fs and *faster* than normal... sounds good.

--
64 bytes from 195.113.31.123: icmp_seq=28 ttl=51 time=448769.1 ms

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:02    [W:0.369 / U:0.408 seconds]
©2003-2014 Jasper Spaans. Advertise on this site