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

    > > 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 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
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 14:02    [W:0.021 / U:19.900 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site