diff --git a/iscsi-scst/README b/iscsi-scst/README index 478ae9a5a..b6bf32c69 100644 --- a/iscsi-scst/README +++ b/iscsi-scst/README @@ -188,6 +188,9 @@ http://virtualgeek.typepad.com/virtual_geek/2009/01/a-multivendor-post-to-help-o 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. + Compilation options ------------------- diff --git a/iscsi-scst/README_in-tree b/iscsi-scst/README_in-tree index 498a3d41f..fe2a4b4eb 100644 --- a/iscsi-scst/README_in-tree +++ b/iscsi-scst/README_in-tree @@ -124,6 +124,9 @@ http://virtualgeek.typepad.com/virtual_geek/2009/01/a-multivendor-post-to-help-o 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. + Compilation options ------------------- diff --git a/scst/README b/scst/README index e6f939990..ebb26282c 100644 --- a/scst/README +++ b/scst/README @@ -805,6 +805,11 @@ using debug2perf root Makefile target. 4. For other target and initiator software parts: + - Make sure you applied on your kernel all available SCST patches, + especially io_context-2.6.X.patch. If for your kernel version this + patch doesn't exist, it is strongly recommended to upgrade your + kernel to version, for which this patch exists. + - Don't enable debug/hacking features in the kernel, i.e. use them as they are by default. diff --git a/scst/README_in-tree b/scst/README_in-tree index dd0293b10..cad4413fd 100644 --- a/scst/README_in-tree +++ b/scst/README_in-tree @@ -732,6 +732,11 @@ using debug2perf root Makefile target. 4. For other target and initiator software parts: + - Make sure you applied on your kernel all available SCST patches, + especially io_context-2.6.X.patch. If for your kernel version this + patch doesn't exist, it is strongly recommended to upgrade your + kernel to version, for which this patch exists. + - Don't enable debug/hacking features in the kernel, i.e. use them as they are by default. diff --git a/scst/include/scst_debug.h b/scst/include/scst_debug.h index b5a13b356..8ba32a6e2 100644 --- a/scst/include/scst_debug.h +++ b/scst/include/scst_debug.h @@ -158,12 +158,24 @@ do { \ } \ } while (0) +#ifdef CONFIG_SCST_DEBUG + +#define PRINT_BUFFER(message, buff, len) \ +do { \ + PRINT(NO_FLAG, "%s:%s:", __func__, message); \ + debug_print_buffer(INFO_FLAG, buff, len); \ +} while (0) + +#else + #define PRINT_BUFFER(message, buff, len) \ do { \ PRINT(NO_FLAG, "%s:", message); \ debug_print_buffer(INFO_FLAG, buff, len); \ } while (0) +#endif + #define PRINT_BUFF_FLAG(flag, message, buff, len) \ do { \ if (___unlikely(trace_flag & (flag))) { \ diff --git a/scst/src/scst_main.c b/scst/src/scst_main.c index 8047f172b..e8d6e5478 100644 --- a/scst/src/scst_main.c +++ b/scst/src/scst_main.c @@ -42,16 +42,20 @@ #if !defined(SCSI_EXEC_REQ_FIFO_DEFINED) && \ !defined(CONFIG_SCST_STRICT_SERIALIZING) -#warning "Patch scst_exec_req_fifo-.patch was not applied on\ +#warning "Patch scst_exec_req_fifo- was not applied on\ your kernel and CONFIG_SCST_STRICT_SERIALIZING isn't defined.\ Pass-through dev handlers will not work." #endif -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25) +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27) #if !defined(SCST_IO_CONTEXT) -#warning "Patch io_context-.patch was not applied\ +#warning "Patch io_context- was not applied\ on your kernel. SCST will be working with not the best performance." #endif +#else +#warning "There is no patch io_context-\ + for your kernel version. For performance reasons it is strongly recommended\ + to upgrade your kernel to version >= 2.6.27.x." #endif /** @@ -919,7 +923,7 @@ int __scst_register_dev_driver(struct scst_dev_type *dev_type, if (dev_type->exec == NULL) { PRINT_ERROR("Pass-through dev handlers (handler \"%s\") not " "supported. Consider applying on your kernel patch " - "scst_exec_req_fifo-.patch or define " + "scst_exec_req_fifo- or define " "CONFIG_SCST_STRICT_SERIALIZING", dev_type->name); res = -EINVAL; goto out; @@ -1696,12 +1700,16 @@ static int __init init_scst(void) BUILD_BUG_ON(SCST_DATA_READ != DMA_FROM_DEVICE); BUILD_BUG_ON(SCST_DATA_NONE != DMA_NONE); -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25) +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27) #if !defined(SCST_IO_CONTEXT) PRINT_WARNING("%s", "Patch io_context was not applied on " "your kernel. SCST will be working with not the best " "performance."); #endif +#else + PRINT_WARNING("%s", "There is no patch io_context for your kernel " + "version. For performance reasons it is strongly recommended " + "to upgrade your kernel to version >= 2.6.27.x."); #endif mutex_init(&scst_mutex); diff --git a/scstadmin/README b/scstadmin/README index 4f4801a20..d1dc3a9b1 100644 --- a/scstadmin/README +++ b/scstadmin/README @@ -64,6 +64,7 @@ you use the -ForceConfig flag. Also, using the init script to reload the configu will also not remove configurations from a running system. +NOTE! Section "[TARGETS enable]" in the config file is for qla2x00t driver only! Mark.Buechler@gmail.com diff --git a/scstadmin/examples/scst.conf b/scstadmin/examples/scst.conf index 99794b16c..bfed3a43a 100644 --- a/scstadmin/examples/scst.conf +++ b/scstadmin/examples/scst.conf @@ -101,9 +101,10 @@ DEVICE MP15K00a,0 DEVICE MP15K00b,1 [TARGETS enable] +# This section is for qla2x00t targets only #HOST HOST 0x50060b0000397178 HOST 0x50060b000039717a [TARGETS disable] - +# This section is for qla2x00t targets only