mbox series

[RFC,0/5] sd: init_command() and sd_done() speed-ups

Message ID 20180806045115.7725-1-dgilbert@interlog.com (mailing list archive)
Headers show
Series sd: init_command() and sd_done() speed-ups | expand

Message

Douglas Gilbert Aug. 6, 2018, 4:51 a.m. UTC
This patchset is against Martin Petersen's (mkp) repository:
https://git.kernel.org/pub/scm/linux/kernel/git/mkp/linux.git
   branch: 4.19/scsi
Note: this is not the repository mkp uses for normal SCSI
subsystem submissions (whose url ends with .../mkp/scsi.git).
Note 2: even though the branch is called "4.19/scsi" it contains
a somewhat dated lk 4.17.0-rc1.

This patchset is on top of patches already made in this repository
(and not in the mainline) to decrease the overhead that the sd
driver adds in the sd_init_command() submission and the sd_done()
response handling.

On my laptop (i5-7200U) the submission path improved from around
380 nanoseconds per submission (mainline: lk 4.18.0-rc7) to 280
nanoseconds (mkp's repo (4.17.0-rc1) with this patchset). There
was no measurable improvement from the work on the response path
(i.e. sd_done()). It was tested with sgp_dd and the scsi_debug
driver.

Douglas Gilbert (5):
  add tweakable bounds_check flag, now off by default
  break sd_done sense processing out to own function
  streamline REQ_OP_READ-WRITE access
  streamline some logical operations
  make sd_done() REQ_OP_FLUSH handling explicit

 drivers/scsi/sd.c | 273 +++++++++++++++++++++++++++++-----------------
 drivers/scsi/sd.h |   1 +
 2 files changed, 174 insertions(+), 100 deletions(-)