On Sunday August 13, raziebe@xxxxxxxxx wrote: > well ... me again > > Following your advice.... > > I added a deadline for every WRITE stripe head when it is created. > in raid5_activate_delayed i checked if deadline is expired and if not i am > setting the sh to prereadactive mode as . > > This small fix ( and in few other places in the code) reduced the > amount of reads > to zero with dd but with no improvement to throghput. But with random access to > the raid ( buffers are aligned by the stripe width and with the size > of stripe width ) > there is an improvement of at least 20 % . > > Problem is that a user must know what he is doing else there would be > a reduction > in performance if deadline line it too long (say 100 ms). So if I understand you correctly, you are delaying write requests to partial stripes slightly (your 'deadline') and this is sometimes giving you a 20% improvement ? I'm not surprised that you could get some improvement. 20% is quite surprising. It would be worth following through with this to make that improvement generally available. As you say, picking a time in milliseconds is very error prone. We really need to come up with something more natural. I had hopped that the 'unplug' infrastructure would provide the right thing, but apparently not. Maybe unplug is just being called too often. I'll see if I can duplicate this myself and find out what is really going on. Thanks for the report. NeilBrown - 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