Removing the percpu_ida code nets over 400 lines of removal. It's not as spectacular as deleting an entire architecture, but it's still a worthy reduction in lines of code. Untested due to lack of hardware and not understanding how to set up a target platform. Changes from v1: - Fixed bugs pointed out by Jens in iscsit_wait_for_tag() - Abstracted out tag freeing as requested by Bart - Made iscsit_wait_for_tag static as pointed out by 0day Matthew Wilcox (3): target: Abstract tag freeing Convert target drivers to use sbitmap Remove percpu_ida drivers/scsi/qla2xxx/qla_target.c | 14 +- drivers/target/iscsi/iscsi_target_util.c | 35 ++- drivers/target/sbp/sbp_target.c | 7 +- drivers/target/target_core_transport.c | 5 +- drivers/target/tcm_fc/tfc_cmd.c | 10 +- drivers/usb/gadget/function/f_tcm.c | 7 +- drivers/vhost/scsi.c | 8 +- drivers/xen/xen-scsiback.c | 9 +- include/linux/percpu_ida.h | 83 ----- include/target/iscsi/iscsi_target_core.h | 1 + include/target/target_core_base.h | 10 +- lib/Makefile | 2 +- lib/percpu_ida.c | 370 ----------------------- 13 files changed, 73 insertions(+), 488 deletions(-) delete mode 100644 include/linux/percpu_ida.h delete mode 100644 lib/percpu_ida.c -- 2.17.1