All of lore.kernel.org
 help / color / mirror / Atom feed
* 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.