[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ad0578b0-ce73-85ed-b67d-70c5d8176a23@acm.org>
Date: Thu, 30 May 2019 08:36:30 -0700
From: Bart Van Assche <bvanassche@....org>
To: Paolo Bonzini <pbonzini@...hat.com>, linux-kernel@...r.kernel.org,
kvm@...r.kernel.org
Cc: jejb@...ux.ibm.com, martin.petersen@...cle.com,
linux-scsi@...r.kernel.org, stefanha@...hat.com
Subject: Re: [PATCH 1/2] scsi_host: add support for request batching
On 5/30/19 4:28 AM, Paolo Bonzini wrote:
> +static const struct blk_mq_ops scsi_mq_ops_no_commit = {
> + .get_budget = scsi_mq_get_budget,
> + .put_budget = scsi_mq_put_budget,
> + .queue_rq = scsi_queue_rq,
> + .complete = scsi_softirq_done,
> + .timeout = scsi_timeout,
> +#ifdef CONFIG_BLK_DEBUG_FS
> + .show_rq = scsi_show_rq,
> +#endif
> + .init_request = scsi_mq_init_request,
> + .exit_request = scsi_mq_exit_request,
> + .initialize_rq_fn = scsi_initialize_rq,
> + .busy = scsi_mq_lld_busy,
> + .map_queues = scsi_map_queues,
> +};
> +
> +static void scsi_commit_rqs(struct blk_mq_hw_ctx *hctx)
> +{
> + struct request_queue *q = hctx->queue;
> + struct scsi_device *sdev = q->queuedata;
> + struct Scsi_Host *shost = sdev->host;
> +
> + shost->hostt->commit_rqs(shost, hctx->queue_num);
> +}
> +
> static const struct blk_mq_ops scsi_mq_ops = {
> .get_budget = scsi_mq_get_budget,
> .put_budget = scsi_mq_put_budget,
> .queue_rq = scsi_queue_rq,
> + .commit_rqs = scsi_commit_rqs,
> .complete = scsi_softirq_done,
> .timeout = scsi_timeout,
> #ifdef CONFIG_BLK_DEBUG_FS
Hi Paolo,
Have you considered to modify the block layer such that a single
scsi_mq_ops structure can be used for all SCSI LLD types?
Thanks,
Bart.
Powered by blists - more mailing lists