Re: Will the write request starve?
From: Xiao Ni <hidden>
Date: 2014-09-03 08:18:05
----- Original Message -----
From: "Xiao Ni" <redacted> To: linux-raid@vger.kernel.org Cc: "jes sorensen" <redacted> Sent: Wednesday, September 3, 2014 1:59:08 PM Subject: Will the write request starve? Hi all I meet a problem and I can't find the answer. Could you help me? When raid5d want to handle a request, it need to get stripes by __get_priority_stripe. In the __get_priority_stripe function, it always try to get stripe from handle_list. Make an assumption that the raid of level 5 is assembled with 4 disks, and the raid is normal. Now the a write request just want to write a single chunk, so we choose RMW
Sorry, it'll choose RCW
and the stripe will put on the delay_list, then activate it and put it to hold_list. But if there are many read requests after the write request, when raid5d handle stripes it will get stripe from handle_list. So will the write request starve? Certainly I know it will not, because many tests have been done. But I can't find the reason why it will not starve. And there is a variable bypass_count, what's the function about it? If bypass_count < bypass_threshold, it can get a chance to wait for the next write request to get a full write. So avoid read requests. Am I right? Best Regards Xiao -- To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html