linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [ATTEND] scsi-mq prototype discussion
@ 2013-07-12  0:23 Nicholas A. Bellinger
  2013-07-12  1:02 ` [Ksummit-2013-discuss] " Greg KH
  2013-11-29 14:08 ` scsi-mq prototype Bart Van Assche
  0 siblings, 2 replies; 16+ messages in thread
From: Nicholas A. Bellinger @ 2013-07-12  0:23 UTC (permalink / raw)
  To: ksummit-2013-discuss
  Cc: linux-scsi, LKML, target-devel, Jens Axboe, James Bottomley,
	Christoph Hellwig, Martin K. Petersen, Tejun Heo, Hannes Reinecke,
	kmo, scameron, Andrew Vasquez, James Smart

Hello,

I would like to attend the 2013 Kernel Summit.

At the summit, I would like to discuss scsi-mq, a high performance SCSI
initiator prototype that utilizes the next-generation blk-mq effort by
Jens Axboe.  The long-term goal is a path to move beyond the
long-standing small block random I/O limitations vs. raw make_request
based drivers of the existing Linux/SCSI client stack.

Along with using blk-mq's excellent native per-cpu primitive + NUMA
local friendly queuing of pre-allocated struct request descriptor
memory, the scsi-mq prototype currently avoids all I/O fast-path access
of legacy scsi_host->host_lock, and bypasses existing scsi_request_fn()
dispatch into scsi-mq enabled LLD code.

It also allows scsi-core to eliminate all fast-path memory allocations
using struct scsi_cmnd + $LLD_CMD pre-allocations based on a per struct
blk_mq_hw_ctx -> scsi_device->sdev_mq_req context, along with per
scsi_cmnd descriptor pre-allocation of SGL and sense buffer memory.

So far the initial conversion of virtio-scsi + scsi-debug LLDs has been
completed.  Also, the intention is to keep the conversion requirements
for existing LLDs to scsi-mq as simple as possible.

There are still many areas that have been conveniently left out of the
initial prototype, including proper fast-path get_device() +
put_device() reference counting, a functioning scsi-generic IOCTL,
anything close to per struct scsi_device error handling, amongst other
things..

Drilling down the work items ahead of a real mainline push is high on
priority list for discussion.

The parties to be included in such a discussion are:

  - Jens Axboe (blk-mq author)
  - James Bottomley (scsi maintainer)
  - Christoph Hellwig (scsi)
  - Martin Petersen (scsi)
  - Tejun Heo (block + libata)
  - Hannes Reinecke (scsi error recovery)
  - Kent Overstreet (block, per-cpu ida)
  - Stephen Cameron (scsi-over-pcie driver)
  - Andrew Vasquez (qla2xxx LLD)
  - James Smart (lpfc LLD)

Thank you,

--nab


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2013-12-09 21:05 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-07-12  0:23 [ATTEND] scsi-mq prototype discussion Nicholas A. Bellinger
2013-07-12  1:02 ` [Ksummit-2013-discuss] " Greg KH
2013-07-12  1:33   ` Nicholas A. Bellinger
2013-07-12 10:52     ` Hannes Reinecke
2013-07-13  6:53       ` James Bottomley
2013-07-16 21:07         ` Nicholas A. Bellinger
2013-07-16 21:15           ` Jens Axboe
2013-07-17  4:52             ` James Bottomley
2013-07-19 14:01               ` Ric Wheeler
2013-07-22 16:34                 ` Jens Axboe
2013-07-19 21:22               ` Nicholas A. Bellinger
2013-07-19 21:46                 ` James Bottomley
2013-07-19 22:06                   ` Nicholas A. Bellinger
2013-07-16 22:19           ` scameron
2013-11-29 14:08 ` scsi-mq prototype Bart Van Assche
2013-12-09 21:05   ` Nicholas A. Bellinger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).