📄 ncr53c8xx.txt
字号:
In order to display profiling information, just enter: cat /proc/scsi/ncr53c8xx/0and you will get something like the following text:-------------------------------------------------------General information: Chip NCR53C810, device id 0x1, revision id 0x2 IO port address 0x6000, IRQ number 10 Using memory mapped IO at virtual address 0x282c000 Synchronous transfer period 25, max commands per lun 4Profiling information: num_trans = 18014 num_kbytes = 671314 num_disc = 25763 num_break = 1673 num_int = 1685 num_fly = 18038 ms_setup = 4940 ms_data = 369940 ms_disc = 183090 ms_post = 1320-------------------------------------------------------General information is easy to understand. The device ID and therevision ID identify the SCSI chip as follows:Chip Device id Revision Id---- --------- -----------810 0x1 < 0x10810A 0x1 >= 0x10815 0x4825 0x3 < 0x10860 0x6825A 0x3 >= 0x10875 0xf895 0xcThe profiling information is updated upon completion of SCSI commands.A data structure is allocated and zeroed when the host adapter isattached. So, if the driver is a module, the profile counters arecleared each time the driver is loaded. The "clearprof" commandallows you to clear these counters at any time.The following counters are available:("num" prefix means "number of","ms" means milli-seconds)num_trans Number of completed commands Example above: 18014 completed commandsnum_kbytes Number of kbytes transferred Example above: 671 MB transferrednum_disc Number of SCSI disconnections Example above: 25763 SCSI disconnectionsnum_break number of script interruptions (phase mismatch) Example above: 1673 script interruptionsnum_int Number of interrupts other than "on the fly" Example above: 1685 interruptions not "on the fly"num_fly Number of interrupts "on the fly" Example above: 18038 interruptions "on the fly"ms_setup Elapsed time for SCSI commands setups Example above: 4.94 secondsms_data Elapsed time for data transfers Example above: 369.94 seconds spent for data transferms_disc Elapsed time for SCSI disconnections Example above: 183.09 seconds spent disconnectedms_post Elapsed time for command post processing (time from SCSI status get to command completion call) Example above: 1.32 seconds spent for post processingDue to the 1/100 second tick of the system clock, "ms_post" time maybe wrong.In the example above, we got 18038 interrupts "on the fly" and only1673 script breaks generally due to disconnections inside a segment of the scatter list.8. Control commandsControl commands can be sent to the driver with write operations tothe proc SCSI file system. The generic command syntax is thefollowing: echo "<verb> <parameters>" >/proc/scsi/ncr53c8xx/0 (assumes controller number is 0)Using "all" for "<target>" parameter with the commands below willapply to all targets of the SCSI chain (except the controller).Available commands:8.1 Set minimum synchronous period factor setsync <target> <period factor> target: target number period: minimum synchronous period. Maximum speed = 1000/(4*period factor) except for special cases below. Specify a period of 255, to force asynchronous transfer mode. 10 means 25 nano-seconds synchronous period 11 means 30 nano-seconds synchronous period 12 means 50 nano-seconds synchronous period8.2 Set wide size setwide <target> <size> target: target number size: 0=8 bits, 1=16bits8.3 Set maximum number of concurrent tagged commands settags <target> <tags> target: target number tags: number of concurrent tagged commands must not be greater than SCSI_NCR_MAX_TAGS (default: 8)8.4 Set order type for tagged command setorder <order> order: 3 possible values: simple: use SIMPLE TAG for all operations (read and write) ordered: use ORDERED TAG for all operations default: use default tag type, SIMPLE TAG for read operations ORDERED TAG for write operations8.5 Set debug mode setdebug <list of debug flags> Available debug flags: alloc: print info about memory allocations (ccb, lcb) queue: print info about insertions into the command start queue result: print sense data on CHECK CONDITION status scatter: print info about the scatter process scripts: print info about the script binding process tiny: print minimal debugging information timing: print timing information of the NCR chip nego: print information about SCSI negotiations phase: print information on script interruptions Use "setdebug" with no argument to reset debug flags.8.6 Clear profile counters clearprof The profile counters are automatically cleared when the amount of data transferred reaches 1000 GB in order to avoid overflow. The "clearprof" command allows you to clear these counters at any time.8.7 Set flag (no_disc) setflag <target> <flag> target: target number For the moment, only one flag is available: no_disc: not allow target to disconnect. Do not specify any flag in order to reset the flag. For example: - setflag 4 will reset no_disc flag for target 4, so will allow it disconnections. - setflag all will allow disconnection for all devices on the SCSI bus.8.8 Set verbose level setverbose #level The driver default verbose level is 1. This command allows to change th driver verbose level after boot-up.8.9 Reset all logical units of a target resetdev <target> target: target number The driver will try to send a BUS DEVICE RESET message to the target. (Only supported by the SYM53C8XX driver and provided for test purpose)8.10 Abort all tasks of all logical units of a target cleardev <target> target: target number The driver will try to send a ABORT message to all the logical units of the target. (Only supported by the SYM53C8XX driver and provided for test purpose)9. Configuration parametersIf the firmware of all your devices is perfect enough, all thefeatures supported by the driver can be enabled at start-up. However,if only one has a flaw for some SCSI feature, you can disable thesupport by the driver of this feature at linux start-up and enablethis feature after boot-up only for devices that support it safely.CONFIG_SCSI_NCR53C8XX_IOMAPPED (default answer: n) Answer "y" if you suspect your mother board to not allow memory mapped I/O. May slow down performance a little. This option is required by Linux/PPC and is used no matter what you select here. Linux/PPC suffers no performance loss with this option since all IO is memory mapped anyway.CONFIG_SCSI_NCR53C8XX_DEFAULT_TAGS (default answer: 8) Default tagged command queue depth.CONFIG_SCSI_NCR53C8XX_MAX_TAGS (default answer: 8) This option allows you to specify the maximum number of tagged commands that can be queued to a device. The maximum supported value is 32.CONFIG_SCSI_NCR53C8XX_SYNC (default answer: 5) This option allows you to specify the frequency in MHz the driver will use at boot time for synchronous data transfer negotiations. This frequency can be changed later with the "setsync" control command. 0 means "asynchronous data transfers".CONFIG_SCSI_NCR53C8XX_FORCE_SYNC_NEGO (default answer: n) Force synchronous negotiation for all SCSI-2 devices. Some SCSI-2 devices do not report this feature in byte 7 of inquiry response but do support it properly (TAMARACK scanners for example).CONFIG_SCSI_NCR53C8XX_NO_DISCONNECT (default and only reasonable answer: n) If you suspect a device of yours does not properly support disconnections, you can answer "y". Then, all SCSI devices will never disconnect the bus even while performing long SCSI operations.CONFIG_SCSI_NCR53C8XX_SYMBIOS_COMPAT Genuine SYMBIOS boards use GPIO0 in output for controller LED and GPIO3 bit as a flag indicating singled-ended/differential interface. If all the boards of your system are genuine SYMBIOS boards or use BIOS and drivers from SYMBIOS, you would want to enable this option. This option must NOT be enabled if your system has at least one 53C8XX based scsi board with a vendor-specific BIOS. For example, Tekram DC-390/U, DC-390/W and DC-390/F scsi controllers use a vendor-specific BIOS and are known to not use SYMBIOS compatible GPIO wiring. So, this option must not be enabled if your system has such a board installed.CONFIG_SCSI_NCR53C8XX_NVRAM_DETECT Enable support for reading the serial NVRAM data on Symbios and some Symbios compatible cards, and Tekram DC390W/U/F cards. Useful for systems with more than one Symbios compatible controller where at least one has a serial NVRAM, or for a system with a mixture of Symbios and Tekram cards. Enables setting the boot order of host adaptors to something other than the default order or "reverse probe" order. Also enables Symbios and Tekram cards to be distinguished so CONFIG_SCSI_NCR53C8XX_SYMBIOS_COMPAT may be set in a system with a mixture of Symbios and Tekram cards so the Symbios cards can make use of the full range of Symbios features, differential, led pin, without causing problems for the Tekram card(s).10. Boot setup commands10.1 SyntaxSetup commands can be passed to the driver either at boot time or as a string variable using 'insmod'.A boot setup command for the ncr53c8xx (sym53c8xx) driver begins with the driver name "ncr53c8xx="(sym53c8xx). The kernel syntax parser then expects an optional list of integers separated with comma followed by an optional list of comma-separated strings. Example of boot setup command under lilo prompt:lilo: linux root=/dev/hda2 ncr53c8xx=tags:4,sync:10,debug:0x200- enable tagged commands, up to 4 tagged commands queued.- set synchronous negotiation speed to 10 Mega-transfers / second.- set DEBUG_NEGO flag.Since comma seems not to be allowed when defining a string variable using 'insmod', the driver also accepts <space> as option separator. The following command will install driver module with the same options as above. insmod ncr53c8xx.o ncr53c8xx="tags:4 sync:10 debug:0x200"For the moment, the integer list of arguments is discarded by the driver. It will be used in the future in order to allow a per controller setup.Each string argument must be specified as "keyword:value". Only lower-case characters and digits are allowed.In a system that contains multiple 53C8xx adapters insmod will install the specified driver on each adapter. To exclude a chip use the 'excl' keyword.The sequence of commands, insmod sym53c8xx sym53c8xx=excl:0x1400 insmod ncr53c8xxinstalls the sym53c8xx driver on all adapters except the one at IO port address 0x1400 and then installs the ncr53c8xx driver to the adapter at IO port address 0x1400.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -