diff options
author | gibbs <gibbs@FreeBSD.org> | 1997-02-18 20:27:26 +0000 |
---|---|---|
committer | gibbs <gibbs@FreeBSD.org> | 1997-02-18 20:27:26 +0000 |
commit | a7fe8a4f0755bc16cc827cc40c168fbaf65f9dee (patch) | |
tree | 3c542551ec943c6d448a7a2abc2bcbea5ad903eb /share | |
parent | 3b26ab7d89c40b0a0e78475a3c61277687213896 (diff) | |
download | FreeBSD-src-a7fe8a4f0755bc16cc827cc40c168fbaf65f9dee.zip FreeBSD-src-a7fe8a4f0755bc16cc827cc40c168fbaf65f9dee.tar.gz |
Update to match reality. Give more indepth description of SCB paging
and tagged queueing. Mention the AHC_ALLOW_MEMIO option.
Diffstat (limited to 'share')
-rw-r--r-- | share/man/man4/ahc.4 | 72 | ||||
-rw-r--r-- | share/man/man4/man4.i386/ahc.4 | 72 |
2 files changed, 114 insertions, 30 deletions
diff --git a/share/man/man4/ahc.4 b/share/man/man4/ahc.4 index d47af42..7b3b877 100644 --- a/share/man/man4/ahc.4 +++ b/share/man/man4/ahc.4 @@ -1,5 +1,5 @@ .\" -.\" Copyright (c) 1995, 1996 +.\" Copyright (c) 1995, 1996, 1997 .\" Justin T. Gibbs. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without @@ -40,18 +40,21 @@ For one or more PCI cards: .Cd controller pci0 .Cd controller ahc0 .Pp +To enable SCB paging: +.Cd options AHC_SCBPAGING_ENABLE +.Pp To enable tagged queueing: .Cd options AHC_TAGENABLE .Pp -To enable SCB paging: -.Cd options AHC_SCBPAGING_ENABLE +To allow PCI adapters to use memory mapped I/O if enabled: +.Cd options AHC_ALLOW_MEMIO .Pp For one or more SCSI busses: .Cd controller scbus0 at ahc0 .Sh DESCRIPTION This driver provides access to the .Tn SCSI -bus connected to an Adaptec +bus(es) connected to Adaptec 274x, 284x, 2940, 3940, or controllers based on the .Tn AIC7770, .Tn AIC7850, @@ -65,23 +68,65 @@ ultra .Tn SCSI, two active commands at a time per non-tagged queueing target, tagged queuing, -and SCB paging which allows up to 255 active commands on all adapters -except those using -.Tn AIC7770 -chips prior to revision E. +and SCB paging. +.Pp +The number of concurrent transactions allowed is chip dependent +and ranges from 3 to 16. +On PCI adapters, +this number can be increased with the SCB paging option. +SCB paging implements an algorithm to 'page-out' transactions +that are in the disconnected state so that the freed space in +the controller's memory can be used to start additional transactions. +On the aic7880 and aic7870, +this increases the maximum number of outstanding transactions from 16 to 255. +On the aic7850 and aic7860 controllers, this maximum rises from 3 to 8. +During the hardware probe, +a diagnostic showing the ratio of hardware supported 'slots' to number +of transactions is printed. +SCB paging is enabled with the +.Dq Dv AHC_SCBPAGING_ENABLE +configuration option. +This option will likely be removed and become the default behavior for +adapters that support it, +in the near future. +.Pp Tagged queueing is enabled with the .Dq Dv AHC_TAGENABLE configuration option. -SCB paging is enabled with the -.Dq Dv AHC_SCBPAGING_ENABLE +Tagged queueing allows multiple transactions to be queued at the device +level instead of the host level, +allowing the device to re-order I/O to minimize seeks, +seek distance, +and to increase throughput. +Tagged queueing can have a significant impact on performance for seek +bound applications and should be enabled for most configurations. +Unfortunantly, some devices that claim to support tagged queueing fail +miserable when it is used. +The only reason tagged queueing remains as a controller option is as a +stop gap measure until a mechanism to detect these broken devices and to +control this feature on a per device basis is in place. +.Pp +Memory mapped I/O can be enabled with the +.Dq Dv AHC_ALLOW_MEMIO configuration option. +Memory mapped I/O is more efficient than the alternative, programmed I/O. +Most PCI BIOSes will map devices so that either technique for communicating +with the card is availible. +In some cases, +usually when the PCI device is sitting behind a PCI->PCI bridge, +the BIOS fails to properly initialize the chip for memory mapped I/O. +The symptom of this problem is usually a system hang if memory mapped I/O +is attempted. +Most modern motherboards perform the initialization correctly and work fine +with this option enabled. .Pp Per target configuration performed in the .Tn SCSI-Select menu, accesible at boot in .No non- Ns Tn EISA -models or through an +models, +or through an .Tn EISA configuration utility for .Tn EISA @@ -109,15 +154,12 @@ cards. Some Quantum drives (at least the Empire 2100 and 1080s) will not run on an .Tn AIC7870 Rev B in synchronous mode at 10MHz. Controllers with this problem have a -42 MHz clock crystal on them and run slightly above 10MHz, causing the +42 MHz clock crystal on them and run slightly above 10MHz. This causes the drive much confusion. Setting a maximum synchronous negotiation rate of 8MHz in the .Tn SCSI-Select utility will allow normal function. -.Pp -The code to perform SCB paging doesn't work properly, don't use this option -at this time. .Sh SEE ALSO .Xr aha 4 , .Xr ahb 4 , diff --git a/share/man/man4/man4.i386/ahc.4 b/share/man/man4/man4.i386/ahc.4 index d47af42..7b3b877 100644 --- a/share/man/man4/man4.i386/ahc.4 +++ b/share/man/man4/man4.i386/ahc.4 @@ -1,5 +1,5 @@ .\" -.\" Copyright (c) 1995, 1996 +.\" Copyright (c) 1995, 1996, 1997 .\" Justin T. Gibbs. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without @@ -40,18 +40,21 @@ For one or more PCI cards: .Cd controller pci0 .Cd controller ahc0 .Pp +To enable SCB paging: +.Cd options AHC_SCBPAGING_ENABLE +.Pp To enable tagged queueing: .Cd options AHC_TAGENABLE .Pp -To enable SCB paging: -.Cd options AHC_SCBPAGING_ENABLE +To allow PCI adapters to use memory mapped I/O if enabled: +.Cd options AHC_ALLOW_MEMIO .Pp For one or more SCSI busses: .Cd controller scbus0 at ahc0 .Sh DESCRIPTION This driver provides access to the .Tn SCSI -bus connected to an Adaptec +bus(es) connected to Adaptec 274x, 284x, 2940, 3940, or controllers based on the .Tn AIC7770, .Tn AIC7850, @@ -65,23 +68,65 @@ ultra .Tn SCSI, two active commands at a time per non-tagged queueing target, tagged queuing, -and SCB paging which allows up to 255 active commands on all adapters -except those using -.Tn AIC7770 -chips prior to revision E. +and SCB paging. +.Pp +The number of concurrent transactions allowed is chip dependent +and ranges from 3 to 16. +On PCI adapters, +this number can be increased with the SCB paging option. +SCB paging implements an algorithm to 'page-out' transactions +that are in the disconnected state so that the freed space in +the controller's memory can be used to start additional transactions. +On the aic7880 and aic7870, +this increases the maximum number of outstanding transactions from 16 to 255. +On the aic7850 and aic7860 controllers, this maximum rises from 3 to 8. +During the hardware probe, +a diagnostic showing the ratio of hardware supported 'slots' to number +of transactions is printed. +SCB paging is enabled with the +.Dq Dv AHC_SCBPAGING_ENABLE +configuration option. +This option will likely be removed and become the default behavior for +adapters that support it, +in the near future. +.Pp Tagged queueing is enabled with the .Dq Dv AHC_TAGENABLE configuration option. -SCB paging is enabled with the -.Dq Dv AHC_SCBPAGING_ENABLE +Tagged queueing allows multiple transactions to be queued at the device +level instead of the host level, +allowing the device to re-order I/O to minimize seeks, +seek distance, +and to increase throughput. +Tagged queueing can have a significant impact on performance for seek +bound applications and should be enabled for most configurations. +Unfortunantly, some devices that claim to support tagged queueing fail +miserable when it is used. +The only reason tagged queueing remains as a controller option is as a +stop gap measure until a mechanism to detect these broken devices and to +control this feature on a per device basis is in place. +.Pp +Memory mapped I/O can be enabled with the +.Dq Dv AHC_ALLOW_MEMIO configuration option. +Memory mapped I/O is more efficient than the alternative, programmed I/O. +Most PCI BIOSes will map devices so that either technique for communicating +with the card is availible. +In some cases, +usually when the PCI device is sitting behind a PCI->PCI bridge, +the BIOS fails to properly initialize the chip for memory mapped I/O. +The symptom of this problem is usually a system hang if memory mapped I/O +is attempted. +Most modern motherboards perform the initialization correctly and work fine +with this option enabled. .Pp Per target configuration performed in the .Tn SCSI-Select menu, accesible at boot in .No non- Ns Tn EISA -models or through an +models, +or through an .Tn EISA configuration utility for .Tn EISA @@ -109,15 +154,12 @@ cards. Some Quantum drives (at least the Empire 2100 and 1080s) will not run on an .Tn AIC7870 Rev B in synchronous mode at 10MHz. Controllers with this problem have a -42 MHz clock crystal on them and run slightly above 10MHz, causing the +42 MHz clock crystal on them and run slightly above 10MHz. This causes the drive much confusion. Setting a maximum synchronous negotiation rate of 8MHz in the .Tn SCSI-Select utility will allow normal function. -.Pp -The code to perform SCB paging doesn't work properly, don't use this option -at this time. .Sh SEE ALSO .Xr aha 4 , .Xr ahb 4 , |