[Stgt-devel] [PATCH] iscsi tcp: optimize rx

Pete Wyckoff pw
Sat Dec 29 20:01:58 CET 2007


Avoid another trip through the event loop in the case of an
RX with no AHS, by jumping up to the top of the state machine
directly.  This saves about 500 ns per command on my hardware.

Signed-off-by: Pete Wyckoff <pw at osc.edu>
---
 usr/iscsi/iscsid.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/usr/iscsi/iscsid.c b/usr/iscsi/iscsid.c
index 8872818..bbab32d 100644
--- a/usr/iscsi/iscsid.c
+++ b/usr/iscsi/iscsid.c
@@ -1845,9 +1845,11 @@ again:
 		if (conn->rx_size) {
 			conn->rx_buffer = conn->req.ahs;
 			conn->rx_iostate = IOSTATE_RX_AHS;
-		} else
+		} else {
 			conn->rx_iostate = hdigest ?
 				IOSTATE_RX_INIT_HDIGEST : IOSTATE_RX_INIT_DATA;
+			goto again;
+		}
 
 		/*
 		 * if the datasize is zero, we must go to
-- 
1.5.3.6




More information about the stgt mailing list