]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
iscsi-target: Convert to per-cpu ida_alloc + ida_free command map
authorNicholas Bellinger <nab@daterainc.com>
Sat, 17 Aug 2013 22:49:08 +0000 (15:49 -0700)
committerNicholas Bellinger <nab@linux-iscsi.org>
Mon, 9 Sep 2013 21:29:22 +0000 (14:29 -0700)
commit988e3a85463d9b6dabc681df3f8f131b23c19953
tree26ae4d803ff49f0938d20f910be19a172a64d8a4
parentd703ce2f7f4de20c03d71c22a9d5e3708798047b
iscsi-target: Convert to per-cpu ida_alloc + ida_free command map

This patch changes iscsi-target to use transport_alloc_session_tags()
pre-allocation logic for per-cpu session tag pooling with internal
ida_alloc() + ida_free() calls based upon the saved se_cmd->map_tag id.

This includes tag pool setup based upon per NodeACL queue_depth after
locating se_node_acl in iscsi_target_locate_portal().

Also update iscsit_allocate_cmd() and iscsit_release_cmd() to use
percpu_ida_alloc() and percpu_ida_free() respectively.

v5 changes;
  - Convert to percpu_ida.h include

v2 changes:
  - Fix bug with SessionType=Discovery in iscsi_target_locate_portal()

Cc: Or Gerlitz <ogerlitz@mellanox.com>
Cc: Kent Overstreet <kmo@daterainc.com>
Signed-off-by: Nicholas Bellinger <nab@daterainc.com>
drivers/target/iscsi/iscsi_target_core.h
drivers/target/iscsi/iscsi_target_nego.c
drivers/target/iscsi/iscsi_target_util.c