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 |