block: optionally snapshot page contents to provide stable pages during write
authorDarrick J. Wong <[email protected]>
Fri, 22 Feb 2013 00:42:55 +0000 (16:42 -0800)
committerLinus Torvalds <[email protected]>
Fri, 22 Feb 2013 01:22:20 +0000 (17:22 -0800)
commitffecfd1a72fccfcee3dabb99b9ecba9735318f90
treea5c3caf67249ec811a2c2c95678d9349fd8e2412
parent13575ca14fcdacd1ad914d00bc63eb4d96280986
block: optionally snapshot page contents to provide stable pages during write

This provides a band-aid to provide stable page writes on jbd without
needing to backport the fixed locking and page writeback bit handling
schemes of jbd2.  The band-aid works by using bounce buffers to snapshot
page contents instead of waiting.

For those wondering about the ext3 bandage -- fixing the jbd locking
(which was done as part of ext4dev years ago) is a lot of surgery, and
setting PG_writeback on data pages when we actually hold the page lock
dropped ext3 performance by nearly an order of magnitude.  If we're
going to migrate iscsi and raid to use stable page writes, the
complaints about high latency will likely return.  We might as well
centralize their page snapshotting thing to one place.

Signed-off-by: Darrick J. Wong <[email protected]>
Tested-by: Andy Lutomirski <[email protected]>
Cc: Adrian Hunter <[email protected]>
Cc: Artem Bityutskiy <[email protected]>
Reviewed-by: Jan Kara <[email protected]>
Cc: Joel Becker <[email protected]>
Cc: Mark Fasheh <[email protected]>
Cc: Steven Whitehouse <[email protected]>
Cc: Jens Axboe <[email protected]>
Cc: Eric Van Hensbergen <[email protected]>
Cc: Ron Minnich <[email protected]>
Cc: Latchesar Ionkov <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
arch/tile/Kconfig
block/blk-core.c
fs/ext3/super.c
include/uapi/linux/fs.h
mm/Kconfig
mm/bounce.c
mm/page-writeback.c