* Will the write request starve?
[not found] <1275697636.31829381.1409722922411.JavaMail.zimbra@redhat.com>
@ 2014-09-03 5:59 ` Xiao Ni
2014-09-03 8:18 ` Xiao Ni
0 siblings, 1 reply; 2+ messages in thread
From: Xiao Ni @ 2014-09-03 5:59 UTC (permalink / raw)
To: linux-raid; +Cc: jes sorensen
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
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
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Will the write request starve?
2014-09-03 5:59 ` Will the write request starve? Xiao Ni
@ 2014-09-03 8:18 ` Xiao Ni
0 siblings, 0 replies; 2+ messages in thread
From: Xiao Ni @ 2014-09-03 8:18 UTC (permalink / raw)
To: linux-raid; +Cc: jes sorensen
----- Original Message -----
> From: "Xiao Ni" <xni@redhat.com>
> To: linux-raid@vger.kernel.org
> Cc: "jes sorensen" <jes.sorensen@redhat.com>
> 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
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2014-09-03 8:18 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <1275697636.31829381.1409722922411.JavaMail.zimbra@redhat.com>
2014-09-03 5:59 ` Will the write request starve? Xiao Ni
2014-09-03 8:18 ` Xiao Ni
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.