[Stgt-devel] [Iscsitarget-devel] call for testers for tgt

FUJITA Tomonori fujita.tomonori
Thu May 17 15:35:27 CEST 2007


From: Tomasz Chmielewski <mangoo at wpkg.org>
Subject: Re: [Stgt-devel] [Iscsitarget-devel] call for testers for tgt
Date: Thu, 17 May 2007 14:43:00 +0200

> FUJITA Tomonori schrieb:
> > From: Tomasz Chmielewski <mangoo at wpkg.org>
> > Subject: Re: [Iscsitarget-devel] call for testers for tgt
> > Date: Thu, 03 May 2007 12:40:13 +0200
> > 
> >> FUJITA Tomonori schrieb:
> >>> I'm looking for testers for tgt iSCSI target code.
> >>>
> >>> tgt has been developed to replace IET, as mentioned several times on
> >>> this mailing list.
> >>>
> >>> The iSCSI target code runs in user space. So you have no kernel
> >>> crashes unlike IET and it's easy to compile the source code.
> >> What performance can we expect? Same as IET? Worse?
> > 
> > Should be comparable.
> > 
> > At least, sg_turs gave the comparable results (you can find more in
> > the stgt-devel mailing list):
> > 
> > 
> >>> paris:~# sg_turs -t -n=1000 /dev/sg3
> >>> time to perform commands was 0.125131 secs; 7991.62 operations/sec
> >>> Completed 1000 Test Unit Ready commands with 0 errors
> >>>
> >>> - IET
> >>>
> >>> paris:~# sg_turs -t -n=1000 /dev/sg3
> >>> time to perform commands was 0.128747 secs; 7767.17 operations/sec
> >>> Completed 1000 Test Unit Ready commands with 0 errors
> > 
> > IET uses the user-space APIs in the kernel-space. It doesn't try
> > to use the optimal in-kernel APIs. open-iscsi does (e.g. performing
> > PDUs in	RX_SOFTIRQ) so the networking code is more complex.
> > 
> > Unless you use 10Gbit, I don't think you need to worry about the
> > performance. Let me know if you find the performance difference.
> 
> I made a very simple test using "dd":
> 
> Target - native HDD speed
> 
> # dd if=nagios-swap of=/dev/null
> 1024000+0 records in
> 1024000+0 records out
> 524288000 bytes (524 MB) copied, 8.03441 seconds, 65.3 MB/s
> 
> 
> IET 0.4.15:
> 
> # dd if=part of=/dev/null
> 1024000+0 records in
> 1024000+0 records out
> 524288000 bytes (524 MB) copied, 12,0278 seconds, 43,6 MB/s
> 
> 
> tgtd 20070503:
> 
> # dd if=part of=/dev/null
> 1024000+0 records in
> 1024000+0 records out
> 524288000 bytes (524 MB) copied, 22,8263 seconds, 23,0 MB/s
> 
> 
> Each test was performed three times, and gave similar results (~0,3 MB 
> difference can be discarded).
> 
> 
> Tests were carried over 1 Gb link.
> 
> Target is running: 600 MHz Celeron M CPU with 256 MB RAM.
> 
> Initiator is running: 3.20 Ghz Pentium 4 CPU, with 3 GB RAM.
> 
> 
> Neither the target nor initiator were performing any other tasks when 
> the tests were made.

Can you try the following patch?


diff --git a/usr/bs_sync.c b/usr/bs_sync.c
index 6789b5b..c86617b 100644
--- a/usr/bs_sync.c
+++ b/usr/bs_sync.c
@@ -38,7 +38,7 @@
 #include "tgtd.h"
 #include "scsi.h"
 
-#define NR_WORKER_THREADS	4
+#define NR_WORKER_THREADS	8
 
 struct bs_sync_info {
 	pthread_t ack_thread;



More information about the stgt mailing list