From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752422AbbBSQ56 (ORCPT ); Thu, 19 Feb 2015 11:57:58 -0500 Received: from smarthost01b.mail.zen.net.uk ([212.23.1.3]:60166 "EHLO smarthost01b.mail.zen.net.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752298AbbBSQ55 (ORCPT ); Thu, 19 Feb 2015 11:57:57 -0500 X-Greylist: delayed 391 seconds by postgrey-1.27 at vger.kernel.org; Thu, 19 Feb 2015 11:57:57 EST Message-ID: <54E6160E.2000600@cantab.net> Date: Thu, 19 Feb 2015 16:57:50 +0000 From: David Vrabel User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: Bob Liu , xen-devel@lists.xen.org CC: hch@infradead.org, felipe.franciosi@citrix.com, linux-kernel@vger.kernel.org, axboe@fb.com, david.vrabel@citrix.com, avanzini.arianna@gmail.com, roger.pau@citrix.com References: <1423988345-4005-1-git-send-email-bob.liu@oracle.com> <1423988345-4005-8-git-send-email-bob.liu@oracle.com> In-Reply-To: <1423988345-4005-8-git-send-email-bob.liu@oracle.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-SA-Exim-Connect-IP: 82.70.146.43 X-SA-Exim-Mail-From: dvrabel@cantab.net Subject: Re: [Xen-devel] [PATCH 07/10] xen/blkback: pseudo support for multi hardware queues X-SA-Exim-Version: 4.2.1 (built Mon, 26 Dec 2011 16:24:06 +0000) X-SA-Exim-Scanned: Yes (on pear.davidvrabel.org.uk) X-Originating-smarthost01b-IP: [82.70.146.41] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 15/02/2015 08:19, Bob Liu wrote: > Prepare patch for multi hardware queues, the ring number was mandatory set to 1. [...] > --- a/drivers/block/xen-blkback/xenbus.c > +++ b/drivers/block/xen-blkback/xenbus.c > @@ -107,21 +110,108 @@ static void xen_update_blkif_status(struct xen_blkif *blkif) > } > invalidate_inode_pages2(blkif->vbd.bdev->bd_inode->i_mapping); > > - blkif->ring.xenblkd = kthread_run(xen_blkif_schedule, &blkif->ring, "%s", name); > - if (IS_ERR(blkif->ring.xenblkd)) { > - err = PTR_ERR(blkif->ring.xenblkd); > - blkif->ring.xenblkd = NULL; > - xenbus_dev_error(blkif->be->dev, err, "start xenblkd"); > - return; > + if (blkif->nr_rings == 1) { > + blkif->rings[0].xenblkd = kthread_run(xen_blkif_schedule, &blkif->rings[0], "%s", name); > + if (IS_ERR(blkif->rings[0].xenblkd)) { > + err = PTR_ERR(blkif->rings[0].xenblkd); > + blkif->rings[0].xenblkd = NULL; > + xenbus_dev_error(blkif->be->dev, err, "start xenblkd"); > + return; > + } You don't need to special case 1 ring here. > + } else { > + for (i = 0 ; i < blkif->nr_rings ; i++) { > + snprintf(per_ring_name, TASK_COMM_LEN + 1, "%s-%d", name, i); > + ring = &blkif->rings[i]; > + ring->xenblkd = kthread_run(xen_blkif_schedule, ring, "%s", per_ring_name); You don't need the snprintf since kthread_run already takes a printf style name. David