diff options
author | Jody McIntyre <scjody@steamballoon.com> | 2005-09-30 14:59:07 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-09-30 15:41:19 -0400 |
commit | 2bab359a5009f330b12a4ed09a57d3d2ac6b3483 (patch) | |
tree | dfce66056747d41b3594860a681ba53fb94fe798 /drivers/ieee1394/sbp2.c | |
parent | abd559b1052e28d8b9c28aabde241f18fa89090b (diff) |
[PATCH] sbp2: default to serialize_io=1
Set serialize_io=1 by default. This is safer and required by seemingly more
and more hardware. It causes little or no performance loss for S400 devices.
Performance of S800 1394b devices may drop by 25...30%. Therefore make the
parameter's description and dmesg message clearer about performance impact.
Update description of the max_speed parameter too. IEEE1394_SPEED_MAX is
currently S800.
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Jody McIntyre <scjody@steamballoon.com>
Cc: Ben Collins <bcollins@debian.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/ieee1394/sbp2.c')
-rw-r--r-- | drivers/ieee1394/sbp2.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/ieee1394/sbp2.c b/drivers/ieee1394/sbp2.c index 5d86b03979ec..12cec7c4a342 100644 --- a/drivers/ieee1394/sbp2.c +++ b/drivers/ieee1394/sbp2.c | |||
@@ -97,16 +97,18 @@ static char version[] __devinitdata = | |||
97 | */ | 97 | */ |
98 | static int max_speed = IEEE1394_SPEED_MAX; | 98 | static int max_speed = IEEE1394_SPEED_MAX; |
99 | module_param(max_speed, int, 0644); | 99 | module_param(max_speed, int, 0644); |
100 | MODULE_PARM_DESC(max_speed, "Force max speed (3 = 800mb, 2 = 400mb default, 1 = 200mb, 0 = 100mb)"); | 100 | MODULE_PARM_DESC(max_speed, "Force max speed (3 = 800mb, 2 = 400mb, 1 = 200mb, 0 = 100mb)"); |
101 | 101 | ||
102 | /* | 102 | /* |
103 | * Set serialize_io to 1 if you'd like only one scsi command sent | 103 | * Set serialize_io to 1 if you'd like only one scsi command sent |
104 | * down to us at a time (debugging). This might be necessary for very | 104 | * down to us at a time (debugging). This might be necessary for very |
105 | * badly behaved sbp2 devices. | 105 | * badly behaved sbp2 devices. |
106 | * | ||
107 | * TODO: Make this configurable per device. | ||
106 | */ | 108 | */ |
107 | static int serialize_io; | 109 | static int serialize_io = 1; |
108 | module_param(serialize_io, int, 0444); | 110 | module_param(serialize_io, int, 0444); |
109 | MODULE_PARM_DESC(serialize_io, "Serialize all I/O coming down from the scsi drivers (default = 0)"); | 111 | MODULE_PARM_DESC(serialize_io, "Serialize I/O coming from scsi drivers (default = 1, faster = 0)"); |
110 | 112 | ||
111 | /* | 113 | /* |
112 | * Bump up max_sectors if you'd like to support very large sized | 114 | * Bump up max_sectors if you'd like to support very large sized |
@@ -2857,7 +2859,8 @@ static int sbp2_module_init(void) | |||
2857 | 2859 | ||
2858 | /* Module load debug option to force one command at a time (serializing I/O) */ | 2860 | /* Module load debug option to force one command at a time (serializing I/O) */ |
2859 | if (serialize_io) { | 2861 | if (serialize_io) { |
2860 | SBP2_ERR("Driver forced to serialize I/O (serialize_io = 1)"); | 2862 | SBP2_INFO("Driver forced to serialize I/O (serialize_io=1)"); |
2863 | SBP2_INFO("Try serialize_io=0 for better performance"); | ||
2861 | scsi_driver_template.can_queue = 1; | 2864 | scsi_driver_template.can_queue = 1; |
2862 | scsi_driver_template.cmd_per_lun = 1; | 2865 | scsi_driver_template.cmd_per_lun = 1; |
2863 | } | 2866 | } |