From: Vladislav Bolkhovitin <vst@vlnb.net>
To: linux-scsi@vger.kernel.org
Cc: linux-kernel@vger.kernel.org,
scst-devel <scst-devel@lists.sourceforge.net>,
James Bottomley <James.Bottomley@HansenPartnership.com>,
Andrew Morton <akpm@linux-foundation.org>,
FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>,
Mike Christie <michaelc@cs.wisc.edu>,
Jeff Garzik <jeff@garzik.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
Bart Van Assche <bart.vanassche@gmail.com>
Subject: Re: [PATCH][RFC 4/4/4/5] iSCSI-SCST's README file
Date: Tue, 13 Apr 2010 17:10:50 +0400 [thread overview]
Message-ID: <4BC46D5A.9030003@vlnb.net> (raw)
In-Reply-To: <4BC45EF7.7010304@vlnb.net>
This patch contains iSCSI-SCST's README file.
Signed-off-by: Vladislav Bolkhovitin <vst@vlnb.net>
---
README.iscsi | 585 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 585 insertions(+)
diff -uprN orig/linux-2.6.33/Documentation/scst/README.iscsi linux-2.6.33/Documentation/scst/README.iscsi
--- orig/linux-2.6.33/Documentation/scst/README.iscsi
+++ linux-2.6.33/Documentation/scst/README.iscsi
@@ -0,0 +1,585 @@
+iSCSI SCST target driver
+========================
+
+ISCSI-SCST is a deeply reworked fork of iSCSI Enterprise Target (IET)
+(http://iscsitarget.sourceforge.net). Reasons of the fork were:
+
+ - To be able to use full power of SCST core.
+
+ - To fix all the problems, corner cases issues and iSCSI standard
+ violations which IET has.
+
+See more info at http://iscsi-scst.sourceforge.net.
+
+Usage
+-----
+
+See in http://iscsi-scst.sourceforge.net/iscsi-scst-howto.txt how to
+configure iSCSI-SCST.
+
+In 2.0.0 usage of iscsi-scstd.conf as well as iscsi-scst-adm utility is
+obsolete. Use the sysfs interface facilities instead.
+
+It is recommended to use TEST UNIT READY ("tur") command to check if
+iSCSI-SCST target is alive in MPIO configurations.
+
+Also see SCST README file how to tune for the best performance.
+
+CAUTION: Working of target and initiator on the same host isn't fully
+======= supported. See SCST README file for details.
+
+Sysfs interface
+---------------
+
+Root of SCST sysfs interface is /sys/kernel/scst_tgt. Root of iSCSI-SCST
+is /sys/kernel/scst_tgt/targets/iscsi. It has the following entries:
+
+ - None, one or more subdirectories for targets with name equal to names
+ of the corresponding targets.
+
+ - IncomingUser[num] - optional one or more attributes containing user
+ name and password for incoming discovery user name. Not exist by
+ default and can be added through "mgmt" entry, see below.
+
+ - OutgoingUser - optional attribute containing user name and password
+ for outgoing discovery user name. Not exist by default and can be
+ added through "mgmt" entry, see below.
+
+ - iSNSServer - contains name or IP address of iSNS server with optional
+ "AccessControl" attribute, which allows to enable iSNS access
+ control. Empty by default.
+
+ - enabled - using this attribute you can enable or disable iSCSI-SCST
+ accept new connections. It allows to finish configuring global
+ iSCSI-SCST attributes before it starts accepting new connections. 0
+ by default.
+
+ - open_state - read-only attribute, which allows to see if the user
+ space part of iSCSI-SCST connected to the kernel part.
+
+ - trace_level - allows to enable and disable various tracing
+ facilities. See content of this file for help how to use it.
+
+ - version - read-only attribute, which allows to see version of
+ iSCSI-SCST and enabled optional features.
+
+ - mgmt - main management entry, which allows to configure iSCSI-SCST.
+ Namely, add/delete targets as well as add/delete optional global and
+ per-target attributes. See content of this file for help how to use
+ it.
+
+Each iSCSI-SCST sysfs file (attribute) can contain in the last line mark
+"[key]". It is automatically added mark used to allow scstadmin to see
+which attributes it should save in the config file. You can ignore it.
+
+Each target subdirectory contains the following entries:
+
+ - ini_groups - subdirectory defining initiator groups for this target,
+ used to define per-initiator access control. See SCST core README for
+ more details.
+
+ - luns - subdirectory defining LUNs of this target. See SCST core
+ README for more details.
+
+ - sessions - subdirectory containing connected to this target sessions.
+
+ - IncomingUser[num] - optional one or more attributes containing user
+ name and password for incoming user name. Not exist by default and can
+ be added through the "mgmt" entry, see above.
+
+ - OutgoingUser - optional attribute containing user name and password
+ for outgoing user name. Not exist by default and can be added through
+ the "mgmt" entry, see above.
+
+ - Entries defining default iSCSI parameters values used during iSCSI
+ parameters negotiation. Only entries which can be changed or make
+ sense are listed there.
+
+ - QueuedCommands - defines maximum number of commands queued to any
+ session of this target. Default is 32 commands.
+
+ - RspTimeout - defines the maximum time in seconds a command can wait for
+ response from initiator, otherwise the corresponding connection will
+ be closed. For performance reasons it is implemented as a timer,
+ which once in RspTimeout time checks the oldest command waiting for
+ response and, if it's older than RspTimeout, then it closes the
+ connection. Hence, a stalled connection will be closed in time
+ between RspTimeout and 2*RspTimeout. Default is 30 seconds.
+
+ - NopInInterval - defines interval between NOP-In requests, which the
+ target will send on idle connections to check if the initiator is
+ still alive. If there is no NOP-Out reply from the initiator in
+ RspTimeout time, the corresponding connection will be closed. Default
+ is 30 seconds. If it's set to 0, then NOP-In requests are disabled.
+
+ - enabled - using this attribute you can enable or disable iSCSI-SCST
+ accept new connections to this target. It allows to finish
+ configuring it before it starts accepting new connections. 0 by
+ default.
+
+ - rel_tgt_id - allows to read or write SCSI Relative Target Port
+ Identifier attribute. This identifier is used to identify SCSI Target
+ Ports by some SCSI commands, mainly by Persistent Reservations
+ commands. This identifier must be unique among all SCST targets, but
+ for convenience SCST allows disabled targets to have not unique
+ rel_tgt_id. In this case SCST will not allow to enable this target
+ until rel_tgt_id becomes unique. This attribute initialized unique by
+ SCST by default.
+
+ - tid - TID of this target.
+
+Subdirectory "sessions" contains one subdirectory for each connected
+session with name equal to name of the connected initiator.
+
+Each session subdirectory contains the following entries:
+
+ - One subdirectory for each TCP connection in this session. ISCSI-SCST
+ supports 1 connection per session, but the session subdirectory can
+ contain several connections: one active and other being closed.
+
+ - Entries defining negotiated iSCSI parameters. Only parameters which
+ can be changed or make sense are listed there.
+
+ - initiator_name - contains initiator name
+
+ - sid - contains SID of this session
+
+ - reinstating - contains reinstatement state of this session
+
+ - force_close - write-only attribute, which allows to force close this
+ session. This is the only writable session attribute.
+
+ - active_commands - contains number of active, i.e. not yet or being
+ executed, SCSI commands in this session.
+
+ - commands - contains overall number of SCSI commands in this session.
+
+Each connection subdirectory contains the following entries:
+
+ - cid - contains CID of this connection.
+
+ - ip - contains IP address of the connected initiator.
+
+ - state - contains processing state of this connection.
+
+Below is a sample script, which configures 1 virtual disk "disk1" using
+/disk1 image and one target iqn.2006-10.net.vlnb:tgt with all default
+parameters:
+
+#!/bin/bash
+
+modprobe scst
+modprobe scst_vdisk
+
+echo "add_device disk1 filename=/disk1; nv_cache=1" >/sys/kernel/scst_tgt/handlers/vdisk_fileio/mgmt
+
+service iscsi-scst start
+
+echo "add_target iqn.2006-10.net.vlnb:tgt" >/sys/kernel/scst_tgt/targets/iscsi/mgmt
+echo "add disk1 0" >/sys/kernel/scst_tgt/targets/iscsi/iqn.2006-10.net.vlnb:tgt/luns/mgmt
+
+echo 1 >/sys/kernel/scst_tgt/targets/iscsi/iqn.2006-10.net.vlnb:tgt/enabled
+echo 1 >/sys/kernel/scst_tgt/targets/iscsi/enabled
+
+Below is more advanced sample script, which configures more virtual
+devices of various types, including virtual CDROM and 2 targets, one
+with all default parameters, another one with some not default
+parameters, incoming and outgoing user names for CHAP authentification,
+and special permissions for initiator iqn.2005-03.org.open-iscsi:cacdcd2520,
+which will see another set of devices. Also this sample configures CHAP
+authentication for discovery sessions and iSNS server with access control.
+
+#!/bin/bash
+
+modprobe scst
+modprobe scst_vdisk
+
+echo "add_device disk1 filename=/disk1; nv_cache=1" >/sys/kernel/scst_tgt/handlers/vdisk_fileio/mgmt
+echo "add_device disk2 filename=/disk2; blocksize=4096; nv_cache=1" >/sys/kernel/scst_tgt/handlers/vdisk_fileio/mgmt
+echo "add_device blockio filename=/dev/sda5" >/sys/kernel/scst_tgt/handlers/vdisk_blockio/mgmt
+echo "add_device nullio" >/sys/kernel/scst_tgt/handlers/vdisk_nullio/mgmt
+echo "add_device cdrom" >/sys/kernel/scst_tgt/handlers/vcdrom/mgmt
+
+service iscsi-scst start
+
+echo "192.168.1.16 AccessControl" >/sys/kernel/scst_tgt/targets/iscsi/iSNSServer
+echo "add_attribute IncomingUser joeD 12charsecret" >/sys/kernel/scst_tgt/targets/iscsi/mgmt
+echo "add_attribute OutgoingUser jackD 12charsecret1" >/sys/kernel/scst_tgt/targets/iscsi/mgmt
+
+echo "add_target iqn.2006-10.net.vlnb:tgt" >/sys/kernel/scst_tgt/targets/iscsi/mgmt
+
+echo "add disk1 0" >/sys/kernel/scst_tgt/targets/iscsi/iqn.2006-10.net.vlnb:tgt/luns/mgmt
+echo "add cdrom 1" >/sys/kernel/scst_tgt/targets/iscsi/iqn.2006-10.net.vlnb:tgt/luns/mgmt
+
+echo "add_target iqn.2006-10.net.vlnb:tgt1" >/sys/kernel/scst_tgt/targets/iscsi/mgmt
+echo "add_target_attribute iqn.2006-10.net.vlnb:tgt1 IncomingUser1 joe2 12charsecret2" >/sys/kernel/scst_tgt/targets/iscsi/mgmt
+echo "add_target_attribute iqn.2006-10.net.vlnb:tgt1 IncomingUser joe 12charsecret" >/sys/kernel/scst_tgt/targets/iscsi/mgmt
+echo "add_target_attribute iqn.2006-10.net.vlnb:tgt1 OutgoingUser jim1 12charpasswd" >/sys/kernel/scst_tgt/targets/iscsi/mgmt
+echo "No" >/sys/kernel/scst_tgt/targets/iscsi/iqn.2006-10.net.vlnb:tgt1/InitialR2T
+echo "Yes" >/sys/kernel/scst_tgt/targets/iscsi/iqn.2006-10.net.vlnb:tgt1/ImmediateData
+echo "8192" >/sys/kernel/scst_tgt/targets/iscsi/iqn.2006-10.net.vlnb:tgt1/MaxRecvDataSegmentLength
+echo "8192" >/sys/kernel/scst_tgt/targets/iscsi/iqn.2006-10.net.vlnb:tgt1/MaxXmitDataSegmentLength
+echo "131072" >/sys/kernel/scst_tgt/targets/iscsi/iqn.2006-10.net.vlnb:tgt1/MaxBurstLength
+echo "32768" >/sys/kernel/scst_tgt/targets/iscsi/iqn.2006-10.net.vlnb:tgt1/FirstBurstLength
+echo "1" >/sys/kernel/scst_tgt/targets/iscsi/iqn.2006-10.net.vlnb:tgt1/MaxOutstandingR2T
+echo "CRC32C,None" >/sys/kernel/scst_tgt/targets/iscsi/iqn.2006-10.net.vlnb:tgt1/HeaderDigest
+echo "CRC32C,None" >/sys/kernel/scst_tgt/targets/iscsi/iqn.2006-10.net.vlnb:tgt1/DataDigest
+echo "32" >/sys/kernel/scst_tgt/targets/iscsi/iqn.2006-10.net.vlnb:tgt1/QueuedCommands
+
+echo "add disk2 0" >/sys/kernel/scst_tgt/targets/iscsi/iqn.2006-10.net.vlnb:tgt1/luns/mgmt
+echo "add nullio 26" >/sys/kernel/scst_tgt/targets/iscsi/iqn.2006-10.net.vlnb:tgt1/luns/mgmt
+
+echo "create special_ini" >/sys/kernel/scst_tgt/targets/iscsi/iqn.2006-10.net.vlnb:tgt1/ini_groups/mgmt
+echo "add blockio 0 read_only=1" >/sys/kernel/scst_tgt/targets/iscsi/iqn.2006-10.net.vlnb:tgt1/ini_groups/special_ini/luns/mgmt
+echo "add iqn.2005-03.org.open-iscsi:cacdcd2520" >/sys/kernel/scst_tgt/targets/iscsi/iqn.2006-10.net.vlnb:tgt1/ini_groups/special_ini/initiators/mgmt
+
+echo 1 >/sys/kernel/scst_tgt/targets/iscsi/iqn.2006-10.net.vlnb:tgt/enabled
+echo 1 >/sys/kernel/scst_tgt/targets/iscsi/iqn.2006-10.net.vlnb:tgt1/enabled
+
+echo 1 >/sys/kernel/scst_tgt/targets/iscsi/enabled
+
+The resulting overall SCST sysfs hierarchy with an initiator connected to
+both iSCSI-SCST targets will look like:
+
+/sys/kernel/scst_tgt
+|-- devices
+| |-- blockio
+| | |-- blocksize
+| | |-- exported
+| | | `-- export0 -> ../../../targets/iscsi/iqn.2006-10.net.vlnb:tgt1/ini_groups/special_ini/luns/0
+| | |-- filename
+| | |-- handler -> ../../handlers/vdisk_blockio
+| | |-- read_only
+| | |-- removable
+| | |-- resync_size
+| | |-- size_mb
+| | |-- t10_dev_id
+| | |-- threads_num
+| | |-- threads_pool_type
+| | |-- type
+| | `-- usn
+| |-- cdrom
+| | |-- exported
+| | | `-- export0 -> ../../../targets/iscsi/iqn.2006-10.net.vlnb:tgt/luns/1
+| | |-- filename
+| | |-- handler -> ../../handlers/vcdrom
+| | |-- size_mb
+| | |-- t10_dev_id
+| | |-- threads_num
+| | |-- threads_pool_type
+| | |-- type
+| | `-- usn
+| |-- disk1
+| | |-- blocksize
+| | |-- exported
+| | | `-- export0 -> ../../../targets/iscsi/iqn.2006-10.net.vlnb:tgt/luns/0
+| | |-- filename
+| | |-- handler -> ../../handlers/vdisk_fileio
+| | |-- nv_cache
+| | |-- o_direct
+| | |-- read_only
+| | |-- removable
+| | |-- resync_size
+| | |-- size_mb
+| | |-- t10_dev_id
+| | |-- type
+| | |-- usn
+| | `-- write_through
+| |-- disk2
+| | |-- blocksize
+| | |-- exported
+| | | `-- export0 -> ../../../targets/iscsi/iqn.2006-10.net.vlnb:tgt1/luns/0
+| | |-- filename
+| | |-- handler -> ../../handlers/vdisk_fileio
+| | |-- nv_cache
+| | |-- o_direct
+| | |-- read_only
+| | |-- removable
+| | |-- resync_size
+| | |-- size_mb
+| | |-- t10_dev_id
+| | |-- threads_num
+| | |-- threads_pool_type
+| | |-- threads_num
+| | |-- threads_pool_type
+| | |-- type
+| | |-- usn
+| | `-- write_through
+| `-- nullio
+| |-- blocksize
+| |-- exported
+| | `-- export0 -> ../../../targets/iscsi/iqn.2006-10.net.vlnb:tgt1/luns/26
+| |-- handler -> ../../handlers/vdisk_nullio
+| |-- read_only
+| |-- removable
+| |-- size_mb
+| |-- t10_dev_id
+| |-- threads_num
+| |-- threads_pool_type
+| |-- type
+| `-- usn
+|-- handlers
+| |-- vcdrom
+| | |-- cdrom -> ../../devices/cdrom
+| | |-- mgmt
+| | |-- trace_level
+| | `-- type
+| |-- vdisk_blockio
+| | |-- blockio -> ../../devices/blockio
+| | |-- mgmt
+| | |-- trace_level
+| | `-- type
+| |-- vdisk_fileio
+| | |-- disk1 -> ../../devices/disk1
+| | |-- disk2 -> ../../devices/disk2
+| | |-- mgmt
+| | |-- trace_level
+| | `-- type
+| `-- vdisk_nullio
+| |-- mgmt
+| |-- nullio -> ../../devices/nullio
+| |-- trace_level
+| `-- type
+|-- sgv
+| |-- global_stats
+| |-- sgv
+| | `-- stats
+| |-- sgv-clust
+| | `-- stats
+| `-- sgv-dma
+| `-- stats
+|-- targets
+| `-- iscsi
+| |-- IncomingUser
+| |-- OutgoingUser
+| |-- enabled
+| |-- iSNSServer
+| |-- iqn.2006-10.net.vlnb:tgt
+| | |-- DataDigest
+| | |-- FirstBurstLength
+| | |-- HeaderDigest
+| | |-- ImmediateData
+| | |-- InitialR2T
+| | |-- MaxBurstLength
+| | |-- MaxOutstandingR2T
+| | |-- MaxRecvDataSegmentLength
+| | |-- MaxXmitDataSegmentLength
+| | |-- NopInInterval
+| | |-- QueuedCommands
+| | |-- RspTimeout
+| | |-- enabled
+| | |-- ini_groups
+| | | `-- mgmt
+| | |-- luns
+| | | |-- 0
+| | | | |-- device -> ../../../../../devices/disk1
+| | | | `-- read_only
+| | | |-- 1
+| | | | |-- device -> ../../../../../devices/cdrom
+| | | | `-- read_only
+| | | `-- mgmt
+| | |-- rel_tgt_id
+| | |-- sessions
+| | | `-- iqn.2005-03.org.open-iscsi:cacdcd2520
+| | | |-- 10.170.75.2
+| | | | |-- cid
+| | | | |-- ip
+| | | | `-- state
+| | | |-- DataDigest
+| | | |-- FirstBurstLength
+| | | |-- HeaderDigest
+| | | |-- ImmediateData
+| | | |-- InitialR2T
+| | | |-- MaxBurstLength
+| | | |-- MaxOutstandingR2T
+| | | |-- MaxRecvDataSegmentLength
+| | | |-- MaxXmitDataSegmentLength
+| | | |-- active_commands
+| | | |-- commands
+| | | |-- force_close
+| | | |-- initiator_name
+| | | |-- luns -> ../../luns
+| | | |-- reinstating
+| | | `-- sid
+| | `-- tid
+| |-- iqn.2006-10.net.vlnb:tgt1
+| | |-- DataDigest
+| | |-- FirstBurstLength
+| | |-- HeaderDigest
+| | |-- ImmediateData
+| | |-- IncomingUser
+| | |-- IncomingUser1
+| | |-- InitialR2T
+| | |-- MaxBurstLength
+| | |-- MaxOutstandingR2T
+| | |-- MaxRecvDataSegmentLength
+| | |-- MaxXmitDataSegmentLength
+| | |-- OutgoingUser
+| | |-- NopInInterval
+| | |-- QueuedCommands
+| | |-- RspTimeout
+| | |-- enabled
+| | |-- ini_groups
+| | | |-- mgmt
+| | | `-- special_ini
+| | | |-- initiators
+| | | | |-- iqn.2005-03.org.open-iscsi:cacdcd2520
+| | | | `-- mgmt
+| | | `-- luns
+| | | |-- 0
+| | | | |-- device -> ../../../../../../../devices/blockio
+| | | | `-- read_only
+| | | `-- mgmt
+| | |-- luns
+| | | |-- 0
+| | | | |-- device -> ../../../../../devices/disk2
+| | | | `-- read_only
+| | | |-- 26
+| | | | |-- device -> ../../../../../devices/nullio
+| | | | `-- read_only
+| | | `-- mgmt
+| | |-- rel_tgt_id
+| | |-- sessions
+| | | `-- iqn.2005-03.org.open-iscsi:cacdcd2520
+| | | |-- 10.170.75.2
+| | | | |-- cid
+| | | | |-- ip
+| | | | `-- state
+| | | |-- DataDigest
+| | | |-- FirstBurstLength
+| | | |-- HeaderDigest
+| | | |-- ImmediateData
+| | | |-- InitialR2T
+| | | |-- MaxBurstLength
+| | | |-- MaxOutstandingR2T
+| | | |-- MaxRecvDataSegmentLength
+| | | |-- MaxXmitDataSegmentLength
+| | | |-- active_commands
+| | | |-- commands
+| | | |-- force_close
+| | | |-- initiator_name
+| | | |-- luns -> ../../ini_groups/special_ini/luns
+| | | |-- reinstating
+| | | `-- sid
+| | `-- tid
+| |-- mgmt
+| |-- open_state
+| |-- trace_level
+| `-- version
+|-- threads
+|-- trace_level
+`-- version
+
+Troubleshooting
+---------------
+
+If you have any problems, start troubleshooting from looking at the
+kernel and system logs. In the kernel log iSCSI-SCST and SCST core send
+their messages, in the system log iscsi-scstd sends its messages. In
+most Linux distributions both those logs are put to /var/log/messages
+file.
+
+Then, it might be helpful to increase level of logging. For kernel
+modules you should make the debug build by enabling CONFIG_SCST_DEBUG.
+
+If after looking on the logs the reason of your problem is still unclear
+for you, report to SCST mailing list scst-devel@lists.sourceforge.net.
+
+Work if target's backstorage or link is too slow
+------------------------------------------------
+
+In some cases you can experience I/O stalls or see in the kernel log
+abort or reset messages. It can happen under high I/O load, when your
+target's backstorage gets overloaded, or working over a slow link, when
+the link can't serve all the queued commands on time,
+
+To workaround it you can reduce QueuedCommands parameter for the
+corresponding target to some lower value, like 8 (default is 32).
+
+Also see SCST README file for more details about that issue and ways to
+prevent it.
+
+Performance advices
+-------------------
+
+1. If you use Windows XP or Windows 2003+ as initiators, you should
+consider to decrease TcpAckFrequency parameter to 1. See
+http://support.microsoft.com/kb/328890/ or google for "TcpAckFrequency"
+for more details.
+
+2. See how to get the maximum throughput from iSCSI, for instance, at
+http://virtualgeek.typepad.com/virtual_geek/2009/01/a-multivendor-post-to-help-our-mutual-iscsi-customers-using-vmware.html.
+It's about VMware, but its recommendations apply to other environments
+as well.
+
+3. ISCSI initiators built in pre-CentOS/RHEL 5 reported to have some
+performance problems. If you use it, it is strongly advised to upgrade.
+
+4. If you are going to use your target in an VM environment, for
+instance as a shared storage with VMware, make sure all your VMs
+connected to the target via *separate* sessions, i.e. each VM has own
+connection to the target, not all VMs connected using a single
+connection. You can check it using SCST sysfs interface. If you
+miss it, you can greatly loose performance of parallel access to your
+target from different VMs. This isn't related to the case if your VMs
+are using the same shared storage, like with VMFS, for instance. In this
+case all your VM hosts will be connected to the target via separate
+sessions, which is enough.
+
+5. Many dual port network adapters are not able to transfer data
+simultaneously on both ports, i.e. they transfer data via both ports on
+the same speed as via any single port. Thus, using such adapters in MPIO
+configuration can't improve performance. To allow MPIO to have double
+performance you should either use separate network adapters, or find a
+dual-port adapter capable to to transfer data simultaneously on both
+ports. You can check it by running 2 iperf's through both ports in
+parallel.
+
+6. Since network offload works much better in the write direction, than
+for reading (simplifying, in the read direction often there's additional
+data copy) in many cases with 10GbE in a single initiator-target pair
+the initiator's CPU is a bottleneck, so you can see the initiator can
+read data on much slower rate, than write. You can check it by watching
+*each particular* CPU load to find out if any of them is close to 100%
+load, including IRQ processing load. Note, many tools like vmstat give
+aggregate load on all CPUs, so with 4 cores 25% corresponds to 100% load
+of any single CPU.
+
+7. See SCST core's README for more advices. Especially pay attention to
+have io_grouping_type option set correctly.
+
+Compilation options
+-------------------
+
+There are the following compilation options, that could be commented
+in/out in the kernel's module Makefile:
+
+ - CONFIG_SCST_DEBUG - turns on some debugging code, including some logging.
+ Makes the driver considerably bigger and slower, producing large amount of
+ log data.
+
+ - CONFIG_SCST_TRACING - turns on ability to log events. Makes the driver
+ considerably bigger and leads to some performance loss.
+
+ - CONFIG_SCST_EXTRACHECKS - adds extra validity checks in the various places.
+
+ - CONFIG_SCST_ISCSI_DEBUG_DIGEST_FAILURES - simulates digest failures in
+ random places.
+
+Credits
+-------
+
+Thanks to:
+
+ * Ming Zhang <blackmagic02881@gmail.com> for fixes
+
+ * Krzysztof Blaszkowski <kb@sysmikro.com.pl> for many fixes
+
+ * Alexey Kuznetsov <kuznet@ms2.inr.ac.ru> for comments and help in
+ debugging
+
+ * Tomasz Chmielewski <mangoo@wpkg.org> for testing and suggestions
+
+ * Bart Van Assche <bart.vanassche@gmail.com> for a lot of help
+
+Vladislav Bolkhovitin <vst@vlnb.net>, http://scst.sourceforge.net
prev parent reply other threads:[~2010-04-13 13:10 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <4BC44A49.7070307@vlnb.net>
2010-04-13 13:04 ` [PATCH][RFC 0/12/1/5] SCST core Vladislav Bolkhovitin
[not found] ` <4BC44D08.4060907@vlnb.net>
2010-04-13 13:04 ` [PATCH][RFC 1/12/1/5] SCST core's Makefile and Kconfig Vladislav Bolkhovitin
2010-04-13 13:04 ` [PATCH][RFC 2/12/1/5] SCST core's external headers Vladislav Bolkhovitin
2010-04-13 13:04 ` [PATCH][RFC 3/12/1/5] SCST core's scst_main.c Vladislav Bolkhovitin
2010-04-13 13:05 ` [PATCH][RFC 4/12/1/5] SCST core's scst_targ.c Vladislav Bolkhovitin
2010-04-13 13:05 ` [PATCH][RFC 5/12/1/5] SCST core's scst_lib.c Vladislav Bolkhovitin
2010-04-13 13:06 ` [PATCH][RFC 6/12/1/5] SCST core's private header Vladislav Bolkhovitin
2010-04-13 13:06 ` [PATCH][RFC 7/12/1/5] SCST SGV cache Vladislav Bolkhovitin
2010-04-13 13:06 ` [PATCH][RFC 8/12/1/5] SCST sysfs interface Vladislav Bolkhovitin
2010-04-13 13:06 ` [PATCH][RFC 9/12/1/5] SCST debugging support Vladislav Bolkhovitin
2010-04-13 13:06 ` [PATCH][RFC 10/12/1/5] SCST external modules support Vladislav Bolkhovitin
[not found] ` <4BC45841.2090707@vlnb.net>
2010-04-13 13:07 ` [PATCH][RFC 11/12/1/5] SCST core's README Vladislav Bolkhovitin
2010-04-13 13:07 ` [PATCH][RFC 12/12/1/5] SCST sysfs rules Vladislav Bolkhovitin
2010-04-13 13:09 ` [PATCH][RFC 0/4/4/5] iSCSI-SCST Vladislav Bolkhovitin
[not found] ` <4BC45AFA.7060403@vlnb.net>
2010-04-13 13:10 ` [PATCH][RFC 1/4/4/5] iSCSI-SCST's Makefile and Kconfig Vladislav Bolkhovitin
[not found] ` <4BC45E87.6000901@vlnb.net>
2010-04-13 13:10 ` [PATCH][RFC 2/4/4/5] iSCSI-SCST's header files Vladislav Bolkhovitin
[not found] ` <4BC45EF7.7010304@vlnb.net>
2010-04-13 13:10 ` [PATCH][RFC 3/4/4/5] iSCSI-SCST's implementation files Vladislav Bolkhovitin
2010-04-13 13:10 ` Vladislav Bolkhovitin [this message]
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=4BC46D5A.9030003@vlnb.net \
--to=vst@vlnb.net \
--cc=James.Bottomley@HansenPartnership.com \
--cc=akpm@linux-foundation.org \
--cc=bart.vanassche@gmail.com \
--cc=fujita.tomonori@lab.ntt.co.jp \
--cc=jeff@garzik.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=michaelc@cs.wisc.edu \
--cc=scst-devel@lists.sourceforge.net \
--cc=torvalds@linux-foundation.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.