Merge of trunk r733-737

git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/1.0.1.x@738 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
Vladislav Bolkhovitin
2009-04-02 18:42:34 +00:00
parent 36d5d1a19b
commit dc562ff8b5
9 changed files with 28 additions and 26 deletions

View File

@@ -17,6 +17,7 @@
#include <linux/module.h>
#include <linux/hash.h>
#include <linux/kthread.h>
#include <linux/scatterlist.h>
#include <net/tcp.h>
#include <scsi/scsi.h>

View File

@@ -22,7 +22,7 @@ SRCS_ADM = iscsi_adm.c param.c
OBJS_ADM = $(SRCS_ADM:.c=.o)
CFLAGS += -O2 -fno-inline -Wall -Wextra -Wstrict-prototypes -Wno-sign-compare \
-Werror=implicit-function-declaration -Wno-unused-parameter \
-Wimplicit-function-declaration -Wno-unused-parameter \
-Wno-missing-field-initializers -g -I../include
CFLAGS += -D_GNU_SOURCE # required for glibc >= 2.8

View File

@@ -770,19 +770,14 @@ II. In order to get the maximum performance you should:
- Disable in Makefile CONFIG_SCST_TRACING and CONFIG_SCST_DEBUG.
- If your initiator(s) use dedicated exported from the target virtual
SCSI devices and have more or equal amount of memory, than the
target, it is recommended to use O_DIRECT option (currently it is
available only with fileio_tgt user space program) or BLOCKIO. With
them you could have up to 100% increase in throughput.
IMPORTANT: Some of the compilation options enabled by default, i.e. SCST
========= is optimized currently rather for development and bug hunting,
than for performance.
IMPORTANT: Some of the above compilation options in the SCST SVN enabled by default,
========= i.e. development version of SCST is optimized currently rather for
development and bug hunting, than for performance.
If you use SCST version taken directly from the SVN repository, you can
set the above options, except CONFIG_SCST_ALLOW_PASSTHROUGH_IO_SUBMIT_IN_SIRQ,
using debug2perf Makefile target.
in the needed values using debug2perf root Makefile target.
4. For other target and initiator software parts:
@@ -857,6 +852,9 @@ using debug2perf Makefile target.
provide you the best performance. But using it make sure you use a good
UPS with ability to shutdown the target on the power failure.
Baseline performance numbers you can find in those measurements:
http://lkml.org/lkml/2009/3/30/283.
IMPORTANT: If you use on initiator some versions of Windows (at least W2K)
========= you can't get good write performance for VDISK FILEIO devices with
default 512 bytes block sizes. You could get about 10% of the

View File

@@ -705,19 +705,14 @@ II. In order to get the maximum performance you should:
- Disable in Makefile CONFIG_SCST_TRACING and CONFIG_SCST_DEBUG.
- If your initiator(s) use dedicated exported from the target virtual
SCSI devices and have more or equal amount of memory, than the
target, it is recommended to use O_DIRECT option (currently it is
available only with fileio_tgt user space program) or BLOCKIO. With
them you could have up to 100% increase in throughput.
IMPORTANT: Some of the compilation options enabled by default, i.e. SCST
========= is optimized currently rather for development and bug hunting,
than for performance.
IMPORTANT: Some of the above compilation options in the SCST SVN enabled by default,
========= i.e. development version of SCST is optimized currently rather for
development and bug hunting, than for performance.
If you use SCST version taken directly from the SVN repository, you can
set the above options, except CONFIG_SCST_ALLOW_PASSTHROUGH_IO_SUBMIT_IN_SIRQ,
using debug2perf Makefile target.
in the needed values using debug2perf root Makefile target.
4. For other target and initiator software parts:
@@ -792,6 +787,9 @@ using debug2perf Makefile target.
provide you the best performance. But using it make sure you use a good
UPS with ability to shutdown the target on the power failure.
Baseline performance numbers you can find in those measurements:
http://lkml.org/lkml/2009/3/30/283.
IMPORTANT: If you use on initiator some versions of Windows (at least W2K)
========= you can't get good write performance for VDISK FILEIO devices with
default 512 bytes block sizes. You could get about 10% of the

View File

@@ -17,6 +17,8 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#ifndef __SCST_SGV_H
#define __SCST_SGV_H
/* SGV pool routines and flag bits */
@@ -67,3 +69,4 @@ void sgv_pool_free(struct sgv_pool_obj *sgv, struct scst_mem_lim *mem_lim);
void *sgv_get_priv(struct sgv_pool_obj *sgv);
void scst_init_mem_lim(struct scst_mem_lim *mem_lim);
#endif /* ifndef __SCST_SGV_H */

View File

@@ -1529,7 +1529,7 @@ static int dev_user_reply_cmd(struct file *file, void __user *arg)
if (unlikely(res < 0))
goto out_up;
TRACE_MGMT_DBG("Reply for dev %s", dev->name);
TRACE_DBG("Reply for dev %s", dev->name);
TRACE_BUFFER("Reply", &reply, sizeof(reply));
@@ -2317,9 +2317,9 @@ static int dev_user_task_mgmt_fn(struct scst_mgmt_cmd *mcmd,
}
TRACE_MGMT_DBG("Preparing TM ucmd %p (h %d, fn %d, cmd_to_abort %p, "
"ucmd_to_abort %p, cmd_h_to_abort %d)", ucmd, ucmd->h,
"ucmd_to_abort %p, cmd_h_to_abort %d, mcmd %p)", ucmd, ucmd->h,
mcmd->fn, mcmd->cmd_to_abort, ucmd_to_abort,
ucmd->user_cmd.tm_cmd.cmd_h_to_abort);
ucmd->user_cmd.tm_cmd.cmd_h_to_abort, mcmd);
ucmd->mcmd = mcmd;
ucmd->state = UCMD_STATE_TM_EXECING;

View File

@@ -3794,10 +3794,12 @@ void scst_prepare_async_mcmd(struct scst_mgmt_cmd *mcmd)
TRACE_ENTRY();
TRACE_MGMT_DBG("Preparing mcmd %p for async execution", mcmd);
TRACE_MGMT_DBG("Preparing mcmd %p for async execution "
"(cmd_finish_wait_count %d)", mcmd,
mcmd->cmd_finish_wait_count);
spin_lock_irqsave(&scst_mcmd_lock, flags);
mcmd->cmd_finish_wait_count++;
mcmd->cmd_finish_wait_count++;
spin_unlock_irqrestore(&scst_mcmd_lock, flags);
TRACE_EXIT();

View File

@@ -16,7 +16,7 @@ General Operations
-check : Check database configuration against current configuration.
Options
-ForceConfig : Force all confuration changes, even deletions (DANGER!).
-ForceConfig : Force all configuration changes, even deletions (DANGER!).
Debugging (limited support)
-debug : Debug mode - don\'t do anything destructive.

View File

@@ -55,7 +55,7 @@ Assignments Operations
-group <group>
Options
-ForceConfig : Force all confuration changes, even deletions (DANGER!).
-ForceConfig : Force all configuration changes, even deletions (DANGER!).
Debugging (limited support)
-debug : Debug mode - don\'t do anything destructive.