From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: [PATCH v5 05/10] xen/blkfront: negotiate number of queues/rings to be used with backend Date: Tue, 17 Nov 2015 09:20:32 -0500 Message-ID: <20151117142032.GE3003@char.us.oracle.com> References: <1447470739-18136-1-git-send-email-bob.liu@oracle.com> <1447470739-18136-6-git-send-email-bob.liu@oracle.com> <20151116212702.GA12823@char.us.oracle.com> <564A631E.7040905@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline In-Reply-To: <564A631E.7040905@oracle.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Bob Liu Cc: jonathan.davies@citrix.com, felipe.franciosi@citrix.com, rafal.mielniczuk@citrix.com, linux-kernel@vger.kernel.org, xen-devel@lists.xen.org, axboe@fb.com, david.vrabel@citrix.com, avanzini.arianna@gmail.com, roger.pau@citrix.com List-Id: xen-devel@lists.xenproject.org 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.