On 05/02/2016 01:35 AM, Hannes Reinecke wrote:
On 05/01/2016 04:44 AM, Douglas Gilbert wrote:
Add submit_queue parameter (minimum and default: 1; maximum:
nr_cpu_ids) that controls how many queues are built, each with
their own lock and in_use bit vector. Add statistics parameter
which is default on.

Signed-off-by: Douglas Gilbert <[email protected]>
---
  drivers/scsi/scsi_debug.c | 680 +++++++++++++++++++++++++++++-----------------
  1 file changed, 426 insertions(+), 254 deletions(-)

Two general questions for this:

- Why do you get rid of the embedded command payload?
   Where's the benefit of allocating the commands yourself?
- Wouldn't it be better to move to a per-cpu structure per queue?
   Each queue will be tacked to a CPU anyway, so you could be using
   per-cpu structures. Otherwise you'll run into synchronization
   issues, and any performance gain you might get from scsi-mq is
   lost as you to synchronize on the lower level.

With submit_queues == nr_cpu_ids the block layer will ensure that the each submit queue is always run on the same CPU core. This means that there is a high chance that sdebug_queue.qc_lock will be present in the L1 cache and hence that the locking overhead will be minimal.

Bart.
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to