target: Add transport_handle_cdb_direct optimization
authorNicholas Bellinger <nab@linux-iscsi.org>
Sat, 4 Jun 2011 03:59:19 +0000 (20:59 -0700)
committerNicholas Bellinger <nab@linux-iscsi.org>
Fri, 22 Jul 2011 09:37:44 +0000 (09:37 +0000)
commit695434e1cbd57f404110bf4ab187a5127ffd79bb
tree7d014011669e28498cf3fd210427373992031735
parent35462975b2b197b990fedbb74b81f9bea9d344cb
target: Add transport_handle_cdb_direct optimization

This patch adds a transport_handle_cdb_direct() optimization for mapping
and queueing tasks directly from within fabric processing context by calling
the newly exported transport_generic_new_cmd().  This currently expects to
be called from process context only, and will fail if called within interrupt
context.

This patch also leaves transport_generic_handle_cdb() unmodified for the
moment to function as expected with existing tcm_fc and ib_srpt fabrics,
and will be removed once these have been converted and tested with v4.1
code using transport_handle_cdb_direct().

Based on Andy's original patch here:

[PATCH 39/42] target: Call transport_new_cmd instead of adding to cmd queue

Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
drivers/target/target_core_transport.c
include/target/target_core_transport.h