On Tue, Jan 24, 2012 at 01:40:54PM -0500, Christoph Hellwig wrote:
On Tue, Jan 24, 2012 at 01:05:50PM -0500, Jeff Moyer wrote:
quoted
- buffered writes and buffered O_SYNC writes, all 1MB block size show 4k
I/Os passed down to the I/O scheduler
- buffered 1MB reads are a little better, typically in the 128k-256k
range when they hit the I/O scheduler.
ext4:
- buffered writes: 512K I/Os show up at the elevator
- buffered O_SYNC writes: data is again 512KB, journal writes are 4K
- buffered 1MB reads get down to the scheduler in 128KB chunks
xfs:
- buffered writes: 1MB I/Os show up at the elevator
- buffered O_SYNC writes: 1MB I/Os
- buffered 1MB reads: 128KB chunks show up at the I/O scheduler
So, ext4 is doing better than ext3, but still not perfect. xfs is
kicking ass for writes, but reads are still split up.
All three filesystems use the generic mpages code for reads, so they
all get the same (bad) I/O patterns. Looks like we need to fix this up
ASAP.
Can you easily run btrfs through the same rig? We don't use mpages and
I'm curious.
-chris