Create a raid5 using four disk and the chunksize is 512K. Test command is: dd if=/dev/zero of=/dev/md0 bs=1536K count=90000 oflag=direct In RHEL6(kernel 2.6.32):speed about 240MB/s In 3.5.0-rc5:speed about 77MB/S Add two patch in 3.5.0-rc5, speed about 200MB/S. So the performance of odirect-wrirte for block-deivce was obvious reduced. PATCH 1/2: Add blk_plug function for odirect-write block-device PATCH 2/2: Remove REQ_SYNC for odirect-write in raid456. PATCH 2/2 maybe not correct because it alse for odirect-write for regular file. Jianpeng Ma (2): fs/block-dev.c:fix performance regression in O_DIRECT writes to md block devices. raid5: For write performance, remove REQ_SYNC when write was odirect. drivers/md/raid5.c | 3 +++ fs/block_dev.c | 7 ++++++- 2 files changed, 9 insertions(+), 1 deletions(-) -- 1.7.5.4 ?韬{.n?????%??檩??w?{.n???{饼?z鳐??骅w*jg????????G??⒏⒎?:+v????????????"??????