git: ff751ee05c93 - main - Remove FirstBurstLength limit for software iSCSI.

Alexander Motin mav at FreeBSD.org
Thu Jan 21 04:19:00 UTC 2021


The branch main has been updated by mav:

URL: https://cgit.FreeBSD.org/src/commit/?id=ff751ee05c939eceab25c26ad60b1d56f989aec9

commit ff751ee05c939eceab25c26ad60b1d56f989aec9
Author:     Alexander Motin <mav at FreeBSD.org>
AuthorDate: 2021-01-21 02:33:14 +0000
Commit:     Alexander Motin <mav at FreeBSD.org>
CommitDate: 2021-01-21 04:17:12 +0000

    Remove FirstBurstLength limit for software iSCSI.
    
    For hardware offload solicited data may potentially be handled more
    efficiently than unsolicited due to direct data placement.  Or there
    can be some unsolicited write buffering limitations.  It may create
    situations where FirstBurstLength limit is really useful.
    
    Software driver though has no those factors, having to do memcopy()
    any way and having no so hard limit on the temporary storage.  Same
    time more active use of unsolicited transfers allows to avoid some
    of Ready To Transfer (R2T) PDU round-trip times and processing.
    
    This change effectively doubles from 64KB to 128KB the maximum size
    of write command that can be transferred within one link RTT.  Tests
    of (64KB, 128KB] QD1 writes mixed with simultaneous QD8 reads over
    the same connection, increasing RTT, shows almost double write speed
    and half latency, while we should be able to afford few megabytes of
    RAM for additional buffering on a target these days.
    
    MFC after:      2 weeks
    Sponsored by:   iXsystems, Inc.
---
 sys/dev/iscsi/icl_soft.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys/dev/iscsi/icl_soft.c b/sys/dev/iscsi/icl_soft.c
index bd4d9db81bb0..41d20b4abf69 100644
--- a/sys/dev/iscsi/icl_soft.c
+++ b/sys/dev/iscsi/icl_soft.c
@@ -1523,7 +1523,7 @@ icl_soft_limits(struct icl_drv_limits *idl)
 	idl->idl_max_recv_data_segment_length = 128 * 1024;
 	idl->idl_max_send_data_segment_length = 128 * 1024;
 	idl->idl_max_burst_length = 262144;
-	idl->idl_first_burst_length = 65536;
+	idl->idl_first_burst_length = idl->idl_max_burst_length;
 
 	return (0);
 }


More information about the dev-commits-src-all mailing list