From: Alex Aizman <itn780@yahoo.com>
To: linux-scsi@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Subject: [ANNOUNCE 0/6] Linux-iSCSI High-Performance Initiator
Date: Mon, 11 Apr 2005 20:23:24 -0700 [thread overview]
Message-ID: <425B3F2C.1050300@yahoo.com> (raw)
This is to announce Linux-iSCSI project: High-Performance iSCSI
Initiator v5.0.0.2.
The corresponding user space tools:
http://sourceforge.net/project/showfiles.php?group_id=26396
1. Performance Results
=================
1.1 SETUP
========
See http://www.open-iscsi.org/cgi-bin/wiki.pl/Performance-setup
1.2 SUMMARY
============
256K block Write: 810 MBytes/sec
256K blocks Read: 550 MBytes/sec
1K block Read: 75,000 IOPS
1.3 Disktest results
==============
256K block size WRITE operation:
--------------------------------
Session #0: /dev/sda
| 2005/04/11-09:39:42 | STAT | 9796 | v1.1.12 | /dev/sda | Write
throughput: 430646600.1B/s (410.70MB/s), IOPS 1642.9/s.
| 2005/04/11-09:39:43 | STAT | 9796 | v1.1.12 | /dev/sda | Write
throughput: 430876514.5B/s (410.92MB/s), IOPS 1643.8/s.
Session #1: /dev/sdb
| 2005/04/11-09:40:11 | STAT | 9811 | v1.1.12 | /dev/sdb | Write
throughput: 419816033.3B/s (400.37MB/s), IOPS 1601.6/s.
| 2005/04/11-09:40:12 | STAT | 9811 | v1.1.12 | /dev/sdb | Write
throughput: 419868739.1B/s (400.42MB/s), IOPS 1601.8/s.
Total: ~810 MBytes/sec from a single iSCSI Initiator.
256K block size READ operation:
----------------------------------------
Session #0: /dev/sda
| 2005/04/11-09:47:00 | STAT | 9988 | v1.1.12 | /dev/sda | Read
throughput: 278883766.9B/s (265.96MB/s), IOPS 1065.3/s.
| 2005/04/11-09:47:01 | STAT | 9988 | v1.1.12 | /dev/sda | Read
throughput: 281018368.0B/s (268.00MB/s), IOPS 1073.2/s.
Session #1: /dev/sdb
| 2005/04/11-09:47:04 | STAT | 9976 | v1.1.12 | /dev/sdb | Read
throughput: 294106843.4B/s (280.48MB/s), IOPS 1122.6/s.
| 2005/04/11-09:47:05 | STAT | 9976 | v1.1.12 | /dev/sdb | Read
throughput: 294842094.9B/s (281.18MB/s), IOPS 1125.4/s.
Total: ~550 MBytes/sec from single iSCSI Initiator machine
1K block size READ operation:
-----------------------------
Session #0: /dev/sda
| 2005/04/11-09:57:28 | STAT | 10067 | v1.1.12 | /dev/sda | Read
throughput: 38327973.2B/s (36.55MB/s), IOPS 37430.2/s.
| 2005/04/11-09:57:29 | STAT | 10067 | v1.1.12 | /dev/sda | Read
throughput: 38321291.3B/s (36.55MB/s), IOPS 37423.7/s.
Session #1: /dev/sdb
| 2005/04/11-09:57:30 | STAT | 10000 | v1.1.12 | /dev/sdb | Read
throughput: 39967796.7B/s (38.12MB/s), IOPS 39031.5/s.
| 2005/04/11-09:57:31 | STAT | 10000 | v1.1.12 | /dev/sdb | Read
throughput: 40131755.9B/s (38.27MB/s), IOPS 39191.6/s.
Total: ~76,000 IOPS from single iSCSI Initiator machine
2. Patches
========
The following 6 patches alltogether represent the Open-iSCSI Initiator:
Patch 1:
SCSI LLDD consists of 3 files:
- iscsi_if.c (iSCSI open interface over netlink);
- iscsi_tcp.[ch] (iSCSI transport over TCP/IP).
Patch 2:
Common header files:
- iscsi_if.h (user/kernel #defines);
- iscsi_proto.h (RFC3720 #defines and types);
- iscsi_iftrans.h (iscsi transport interface).
- iscsi_ifev.h (user/kernel events).
Patch 3:
drivers/scsi/Kconfig changes.
Patch 4:
drivers/scsi/Makefile changes.
Patch 5:
include/linux/netlink.h changes (added new protocol NETLINK_ISCSI)
Patch 6:
Documentation/scsi/iscsi.txt
3. Changelog since v5.0.0.1 (Open-iSCSI v 0.1)
===================================
* ERL=0 in kernel support
* fixed scsi discovery
* highmem fix
* more acurate asserts
* host-put fix
* r2t vs. sendhdr race fix
* minor fixes
* discovery fix, small write cleanup
* serialization between conn_destroy(), xmitworker() and data_recv()
* xmit code cleanup
* read regression fix
* more accurate command line handling
* adding tname to the node rec key
* mempool preallocation
* recv pdu OOM-safe
* fix r2t->sg
* buf_left() fix
* trim skb on alloc
* immqueue leak fix
* more accurate error reporting
* do not check for LUN on R2T receive in ERL=0.
* flush xmit queues on conn_stop()
* Ming's patch to have default port for discovery
* do not close session on bad cmd_rsp() from target
* write optimization: send iSCSI PDU header as a part of the same TCP
payload
* ctask->sg vs. sg_count cleanup
* refcounting on session create/destroy fix
* unblock eh_abort() in case of TMF timedout
* 256 LUNS support fix
* race fixed: rmmod concurrent with session_destroy()
* cleanup comments (Matt Mackall) - implemented
* recovery optimization: avoid big allocations on re-open
* initial scsi_transport_iscsi implementation
* introduced host, session and connection contexts on the iscsi_if level
* iscsi_if parameters validation
* no mallocs on datapath during netlink operations in user-space for
down calls
* initial resource error detection
* task abort sent after session gets reopened - fixed
* greater than 2TB support
* iscsid fork now works.
* to sync caches, delete session's LUNs before actual logout task
* added get_param(); used in iscsi transport class
* regression.sh: device parameter added
* transport register/unregister path cleanup
* transport api vs. user/kernel definitions split
* idbm node and discovery records version check
* IPC via netlink + mempool_zones initial implementation
* immediate task's data pool preallocation
* added protection from SIGTERM
* added protection from OOM-killer using oom_adj == -17
* allocate cache aligned iscsi_taskcache
* tx latency: transmitting from queuecommand() if trylock succeeds
* reduced context switching in queuecommand
* max_xmit_dlength properly negotiated
* enable Nagle
* netlink reply cleanup
* kernel/user IPC cleanup: added and implemented iscsi_ipc callback
structure
* receive pool for control PDU's per-connection added
* using predefined macro for max_sg SG_ALL
* kernel IPC transport header file added
* picking unique OUI ISID for the same target based on session's SID
Regards,
Alex Aizman & Dmitry Yusupov
reply other threads:[~2005-04-12 3:23 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=425B3F2C.1050300@yahoo.com \
--to=itn780@yahoo.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.