From: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Hi folks. Here is an initial series for adding target descriptor pre-allocation support based upon Kent's excellent per-cpu struct tag_pool library code. It allows fabric drivers to avoid fast path memory allocation/free overhead up to the number of registered struct tag_pool tags known at se_session creation time, similar to how blk-mq currently works using hw tag resource pre-allocation of struct request and friends. Thus far vhost/scsi has been updated to use se_sess->sess_tag_pool, and patches doing similar fabric driver pre-allocation conversions are currently a WIP.. Also given lib/tags is not upstream just yet, Kent's patch is included here for review context. Thank you, --nab Kent Overstreet (1): Percpu tag allocator Nicholas Bellinger (2): target: Add transport_init_session_tagpool using per-cpu command map vhost/scsi: Convert to generic tag_alloc + tag_free command map drivers/target/target_core_transport.c | 33 +++++++ drivers/vhost/scsi.c | 31 ++++--- include/linux/tags.h | 38 +++++++ include/target/target_core_base.h | 5 + include/target/target_core_fabric.h | 1 + lib/Kconfig | 4 + lib/Makefile | 5 +- lib/tags.c | 166 ++++++++++++++++++++++++++++++++ 8 files changed, 269 insertions(+), 14 deletions(-) create mode 100644 include/linux/tags.h create mode 100644 lib/tags.c -- 1.7.2.5 -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html