lkml.org 
[lkml]   [2015]   [Nov]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v5 05/10] xen/blkfront: negotiate number of queues/rings to be used with backend

    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;



    \
     
     \ /
      Last update: 2015-11-17 01:01    [W:4.055 / U:0.844 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site