[ adding Shaohua ] On Fri, Jul 13, 2012 at 3:31 AM, majianpeng <majianpeng@xxxxxxxxx> wrote: > To improve write perfomance by decreasing the preread stripe,only move > IO_THRESHOLD stripes from delay_list to hold_list once. > > Using the follow command: > dd if=/dev/zero of=/dev/md0 bs=2M count=52100. > > At default condition: speed is 95MB/s. > At the condition of preread_bypass_threshold was equal zero:speed is 105MB/s. > Using this patch:speed is 123MB/s. > > If preread_bypass_threshold was zero,the performance will be better,but > not better than this patch. > I think maybe two reason: > 1:If bio is REQ_SYNC > 2:In function __get_priority_stripe(): >>> } else if (!list_empty(&conf->hold_list) && >>> ((conf->bypass_threshold && >>> conf->bypass_count > conf->bypass_threshold) || >>> atomic_read(&conf->pending_full_writes) == 0)) { > Preread_bypass_threshold is one condition of getting stripe from > hold_list.So only control the number of hold_list can get better > performance. So this is a pretty obvious tradeoff of increased latency for improved throughput. Any idea how much this change affects latency? Especially in the fast device case? -- 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