Messages in this thread | | | Subject | Re: [PATCH 1/2] scsi_host: add support for request batching | From | Bart Van Assche <> | Date | Thu, 30 May 2019 08:36:30 -0700 |
| |
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.
| |