Messages in this thread | | | Date | Mon, 6 Feb 2006 14:59:37 +0100 | From | Jens Axboe <> | Subject | Re: 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/
| |