diff options
author | Bart Van Assche <bvanassche@acm.org> | 2019-01-15 16:50:03 -0800 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2019-01-22 21:18:27 -0500 |
commit | cd464d838041b3a69464c0dd3938c1f912487bd3 (patch) | |
tree | b4e0e9b9287603e730727eb9cfd2aa941c19f778 /drivers/scsi/fnic | |
parent | cf64e5a5f6a5f602f7ef46897da4f70968e11fbc (diff) | |
download | lwn-cd464d838041b3a69464c0dd3938c1f912487bd3.tar.gz lwn-cd464d838041b3a69464c0dd3938c1f912487bd3.zip |
scsi: core: Remove an atomic instruction from the hot path
From scsi_init_command(), a function called by scsi_mq_prep_fn():
/* zero out the cmd, except for the embedded scsi_request */
memset((char *)cmd + sizeof(cmd->req), 0,
sizeof(*cmd) - sizeof(cmd->req) + dev->host->hostt->cmd_size);
In other words, scsi_mq_prep_fn() clears scsi_cmnd.flags. Hence move the
clear_bit() call into the else branch, the only branch in which this code
is necessary.
See also commit f1342709d18a ("scsi: Do not rely on blk-mq for double
completions").
Cc: Keith Busch <keith.busch@intel.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Hannes Reinecke <hare@suse.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Reviewed-by: Keith Busch <keith.busch@intel.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/fnic')
0 files changed, 0 insertions, 0 deletions