Degraded RAID performance - Was : Re: [OOPS] 2.6.21-rc6-git5 in cfq_dispatch_insert
Neil Brown wrote: I wonder if we should avoid bypassing the stripe cache if the needed stripes are already in the cache... or if at least one needed stripe is or if the array is degraded... Probably in the degraded case we should never bypass the cache, as if we do, then a sequential read of a full stripe will read every block twice. I'd better to some performance measurements. Ok, that would explain some odd performance issues I've noticed. Let's say I run dstat -D sda,sdb,sdc,sdd,md0 5 total-cpu-usage --disk/sdadisk/sdbdisk/sdcdisk/sdddisk/md0- -net/total- ---paging-- ---system-- usr sys idl wai hiq siq|_read write _read write _read write _read write _read write|_recv _send|__in_ _out_|_int_ _csw_ 25 22 0 47 0 6|20.1M0 :20.2M0 :20.1M0 : 0 0 :40.2M0 | 146B 662B| 0 0 |1186 661 26 20 0 46 0 8|19.4M0 :19.4M0 :19.4M0 : 0 0 :38.9M0 | 160B 549B| 0 0 |1365 650 Given I'm doing a read, I would have expected a read to consist of 2 direct reads, one parity read and some calculation. The numbers I'm seeing however show 3 reads for 2 reads worth of bandwidth. [EMAIL PROTECTED]:~# cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md0 : active raid5 sda[0] sdc[2] sdb[1] 585934080 blocks level 5, 64k chunk, algorithm 2 [4/3] [UUU_] (Dropped Jens and Chuck from the cc as this likely has little interest for them) Brad -- "Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so." -- Douglas Adams - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Degraded RAID performance - Was : Re: [OOPS] 2.6.21-rc6-git5 in cfq_dispatch_insert
Neil Brown wrote: I wonder if we should avoid bypassing the stripe cache if the needed stripes are already in the cache... or if at least one needed stripe is or if the array is degraded... Probably in the degraded case we should never bypass the cache, as if we do, then a sequential read of a full stripe will read every block twice. I'd better to some performance measurements. Ok, that would explain some odd performance issues I've noticed. Let's say I run dstat -D sda,sdb,sdc,sdd,md0 5 total-cpu-usage --disk/sdadisk/sdbdisk/sdcdisk/sdddisk/md0- -net/total- ---paging-- ---system-- usr sys idl wai hiq siq|_read write _read write _read write _read write _read write|_recv _send|__in_ _out_|_int_ _csw_ 25 22 0 47 0 6|20.1M0 :20.2M0 :20.1M0 : 0 0 :40.2M0 | 146B 662B| 0 0 |1186 661 26 20 0 46 0 8|19.4M0 :19.4M0 :19.4M0 : 0 0 :38.9M0 | 160B 549B| 0 0 |1365 650 Given I'm doing a read, I would have expected a read to consist of 2 direct reads, one parity read and some calculation. The numbers I'm seeing however show 3 reads for 2 reads worth of bandwidth. [EMAIL PROTECTED]:~# cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md0 : active raid5 sda[0] sdc[2] sdb[1] 585934080 blocks level 5, 64k chunk, algorithm 2 [4/3] [UUU_] (Dropped Jens and Chuck from the cc as this likely has little interest for them) Brad -- Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. -- Douglas Adams - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/