2007-11-15 18:56:58

by Andreas Dilger

[permalink] [raw]
Subject: [PATCH] set s_raid_{stripe,stride}

This is a resend of a patch originally from Rupesh Thakare that allows
mke2fs and tune2fs to set/change s_raid_stripe_width and s_raid_stride
in the superblock. Knowing the RAID geometry will allow mballoc/delalloc
to make much better decisions at allocation time to avoid RAID-level
read-modify-write for unaligned writes.

Similarly, in newer kernels the readahead has a mechanism to query
readahead sizes from the filesystem, and keeping these RAID aligned
avoids extra seeks and in some hardware RAID can also greatly reduce
the track cache overhead if there are many IO threads doing unaligned
reads causing the track cache to be flushed before it can be used.

The kernel code to use this is left as an exercise for the reader.
Hooking this into the XFS libdisk (or whatever it is called) at mke2fs
time is extra bonus points.

Cheers, Andreas
--
Andreas Dilger
Sr. Software Engineer, Lustre Group
Sun Microsystems of Canada, Inc.


Attachments:
(No filename) (939.00 B)
e2fsprogs-stride_option.patch (9.21 kB)
Download all attachments