On Tue, Nov 3, 2009 at 5:29 PM, Michael Evans <mjevans1983@xxxxxxxxx> wrote: >> >> So, you're saying that the MD layer is doing it's own buffering? Are >> you sure? With the system cache disabled and the drive (and block >> device driver) cache disabled, there should be no reason to require >> synchronous I/O, unless, as you suggest, the MD layer is broken. >> >> You're saying that both O_DIRECT and O_SYNC must be used to disable >> cache effects. Why then are there two separate flags and not just one? >> Synchronous is a very different behavior that is not necessary for >> this test and put additional requirements that are not needed for this >> test. >> >> Chris >> > > Reading the manual page it seems O_DIRECT explicitly minimizes any > attempts at extra copying; not explicitly disabling buffers, merely > not adding more. In another mail thread this tweak-able was > discussed: > > echo 0 > /sys/block/md*/md/stripe_cache_size > > Which would should (I think) disable any cache involved with the md layer. Stripe_cache_size doesn't seem to exist in the /sys/block/md*/md/ directory on the RHEL5.3 2.6.18-92 kernel I'm using. # ls /sys/block/md*/md/s* /sys/block/md0/md/safe_mode_delay /sys/block/md0/md/suspend_hi /sys/block/md0/md/suspend_lo /sys/block/md0/md/sync_action /sys/block/md0/md/sync_completed /sys/block/md0/md/sync_speed /sys/block/md0/md/sync_speed_max /sys/block/md0/md/sync_speed_min Thanks, Chris > -- To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html