scsi: target: Convert target drivers to use sbitmap
authorMatthew Wilcox <willy@infradead.org>
Tue, 12 Jun 2018 19:05:44 +0000 (12:05 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 20 Jun 2018 02:02:25 +0000 (22:02 -0400)
commit10e9cbb6b531117be0c4a79f2c7fa9a45a0dd532
treeea333b10d3aa71849264ab3fe6147b0e0d4420da
parent83c2b54b9295a5fc0d9c8f1751aaf8099d1760f6
scsi: target: Convert target drivers to use sbitmap

The sbitmap and the percpu_ida perform essentially the same task,
allocating tags for commands.  The sbitmap outperforms the percpu_ida as
documented here: https://lkml.org/lkml/2014/4/22/553

The sbitmap interface is a little harder to use, but being able to remove
the percpu_ida code and getting better performance justifies the additional
complexity.

Signed-off-by: Matthew Wilcox <willy@infradead.org>
Acked-by: Felipe Balbi <felipe.balbi@linux.intel.com> # f_tcm
Reviewed-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qla2xxx/qla_target.c
drivers/target/iscsi/iscsi_target_util.c
drivers/target/sbp/sbp_target.c
drivers/target/target_core_transport.c
drivers/target/tcm_fc/tfc_cmd.c
drivers/usb/gadget/function/f_tcm.c
drivers/vhost/scsi.c
drivers/xen/xen-scsiback.c
include/target/iscsi/iscsi_target_core.h
include/target/target_core_base.h