[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