|
[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
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |