[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v5 05/10] xen/blkfront: negotiate number of queues/rings to be used with backend



On Tue, Nov 17, 2015 at 07:13:34AM +0800, Bob Liu wrote:
> 
> On 11/17/2015 05:27 AM, Konrad Rzeszutek Wilk wrote:
> >>  /* Common code used when first setting up, and when resuming. */
> >>  static int talk_to_blkback(struct xenbus_device *dev,
> >> @@ -1527,10 +1582,9 @@ static int talk_to_blkback(struct xenbus_device 
> >> *dev,
> >>  {
> >>    const char *message = NULL;
> >>    struct xenbus_transaction xbt;
> >> -  int err, i;
> >> -  unsigned int max_page_order = 0;
> >> +  int err;
> >> +  unsigned int i, max_page_order = 0;
> >>    unsigned int ring_page_order = 0;
> >> -  struct blkfront_ring_info *rinfo;
> > 
> > Why? You end up doing the 'struct blkfront_ring_info' decleration
> > in two of the loops below?
> 
> Oh, that's because Roger mentioned we would be tempted to declare rinfo only 
> inside the for loop, to limit
> the scope.
> 
> >>  
> >>    err = xenbus_scanf(XBT_NIL, info->xbdev->otherend,
> >>                       "max-ring-page-order", "%u", &max_page_order);
> >> @@ -1542,7 +1596,8 @@ static int talk_to_blkback(struct xenbus_device *dev,
> >>    }
> >>  
> >>    for (i = 0; i < info->nr_rings; i++) {
> >> -          rinfo = &info->rinfo[i];
> >> +          struct blkfront_ring_info *rinfo = &info->rinfo[i];
> >> +
> > 
> > Here..
> > 
> >> @@ -1617,7 +1677,7 @@ again:
> >>  
> >>    for (i = 0; i < info->nr_rings; i++) {
> >>            int j;
> >> -          rinfo = &info->rinfo[i];
> >> +          struct blkfront_ring_info *rinfo = &info->rinfo[i];
> > 
> > And here?
> > 
> > It is not a big deal but I am curious of why add this change?
> > 
> >> @@ -1717,7 +1789,6 @@ static int blkfront_probe(struct xenbus_device *dev,
> >>  
> >>    mutex_init(&info->mutex);
> >>    spin_lock_init(&info->dev_lock);
> >> -  info->xbdev = dev;
> > 
> > That looks like a spurious change? Ah, I see that we do the same exact
> > operation earlier in the blkfront_probe.
> > 
> 
> The place of this line was changed because:
> 
> 1738         info->xbdev = dev;
> 
> 1739         /* Check if backend supports multiple queues. */
> 1740         err = xenbus_scanf(XBT_NIL, info->xbdev->otherend,
>                                               ^^^^
>                                               We need xbdev to be set in 
> advance.
>                                   
> 1741                            "multi-queue-max-queues", "%u", 
> &backend_max_queues);
> 1742         if (err < 0)
> 1743                 backend_max_queues = 1;

Duh! Yes. Thanks.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.