lkml.org 
[lkml]   [2006]   [Feb]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: Which is simpler? (Was Re: [Suspend2-devel] Re: [ 00/10] [Suspend2] Modules support.)
    On Mon, Feb 06 2006, Rafael J. Wysocki wrote:
    > Hi,
    >
    > On Monday 06 February 2006 14:04, Jens Axboe wrote:
    > > On Mon, Feb 06 2006, Pavel Machek wrote:
    > > > > > I'll get same bandwidth as you, without need for async I/O. Async I/O
    > > > > > is not really a feature, suspend speed is. (There are existing
    > > > > > interfaces for doing AIO from userspace, anyway, but I'm pretty sure
    > > > > > they will not be needed
    > > > >
    > > > > If you keep writing single pages sync, you sure as hell wont get
    > > > > anywhere near async io in speed...
    > > >
    > > > well, we can perfectly do 128K block... just read 128K into userspace
    > > > buffer, flush it via single write to block device. That should get us
    > > > very close enough to media speed.
    > >
    > > That'll help naturally, 128k sync blocks will be very close to async
    > > performance for most cases. Most cases here being drives with write back
    > > caching enabled, if that is disabled async will still be a big win.
    > >
    > > Is there any reason _not_ to just go with async io? Usually the code is
    > > just as simple (or simpler), since the in-kernel stuff is inherently
    > > async to begin with.
    >
    > Actually the userland tools we're working on use async I/O. [There's
    > no real need for sync, I think.] Still we write one page at a time,
    > for now, so the I/O performance is not that much better than for the
    > built-in swsusp, but it _is_ better.

    How many pages you write out at the time doesn't matter very much - that
    usually just boils down to how efficient you are wrt CPU usage,
    something that suspend probably doesn't need to care a whole lot about.
    What matters is how often you wait for a page. Writing 256MiB here, on a
    plain SATA drive:

    4k sync writes: 17.9MiB/sec
    4k async writes: 29.6MiB/sec
    128k sync writes: 36.0MiB/sec
    128k async writes: 41.9MiB/sec

    --
    Jens Axboe

    -
    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: 2006-02-06 14:59    [W:0.043 / U:59.548 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site