[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150710195714.GB31146@l.oracle.com>
Date: Fri, 10 Jul 2015 15:57:14 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>
To: Bob Liu <bob.liu@...cle.com>
Cc: linux-kernel@...r.kernel.org, axboe@...com, hch@...radead.org,
xen-devel@...ts.xenproject.org, avanzini.arianna@...il.com,
david.vrabel@...rix.com, marcus.granado@...rix.com,
roger.pau@...rix.com
Subject: Re: [RESEND PATCH] xen/blkfront: convert to blk-mq APIs
On Mon, Jul 06, 2015 at 05:56:48PM +0800, Bob Liu wrote:
> From: Arianna Avanzini <avanzini.arianna@...il.com>
>
> This patch converts xen-blkfront driver to use the block multiqueue APIs.
> Only one hardware queue is used now, so there is no performance change.
>
> The legacy non-mq code was deleted completely which is the same as other drivers
> like virtio, mtip, and nvme.
>
> Also dropped unnecessary holding of info->io_lock when calling into blk-mq APIs.
Yeey!
Two points:
- The io_lock is now used to guard against concurrent access to the ring.
We should rename it to 'ring_lock'.
- The kick_pending_request_queues should have an extra argument - 'bool locked'.
This is so that you don't drop and immediately grab the lock from the blkif_interrupt.
See:
> @@ -1243,9 +1243,8 @@ static irqreturn_t blkif_interrupt(int irq, void *dev_id)
> } else
> info->ring.sring->rsp_event = i + 1;
>
> - kick_pending_request_queues(info);
> -
> spin_unlock_irqrestore(&info->io_lock, flags);
> + kick_pending_request_queues(info);
>
> return IRQ_HANDLED;
> }
Otherwise Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists