1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-16 10:20:30 +00:00

Update to match reality. Give more indepth description of SCB paging

and tagged queueing.  Mention the AHC_ALLOW_MEMIO option.
This commit is contained in:
Justin T. Gibbs 1997-02-18 20:27:26 +00:00
parent df98fb1bb2
commit 2e3507efc7
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=22897
2 changed files with 116 additions and 32 deletions

View File

@ -1,5 +1,5 @@
.\" .\"
.\" Copyright (c) 1995, 1996 .\" Copyright (c) 1995, 1996, 1997
.\" Justin T. Gibbs. All rights reserved. .\" Justin T. Gibbs. All rights reserved.
.\" .\"
.\" Redistribution and use in source and binary forms, with or without .\" 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 pci0
.Cd controller ahc0 .Cd controller ahc0
.Pp .Pp
To enable SCB paging:
.Cd options AHC_SCBPAGING_ENABLE
.Pp
To enable tagged queueing: To enable tagged queueing:
.Cd options AHC_TAGENABLE .Cd options AHC_TAGENABLE
.Pp .Pp
To enable SCB paging: To allow PCI adapters to use memory mapped I/O if enabled:
.Cd options AHC_SCBPAGING_ENABLE .Cd options AHC_ALLOW_MEMIO
.Pp .Pp
For one or more SCSI busses: For one or more SCSI busses:
.Cd controller scbus0 at ahc0 .Cd controller scbus0 at ahc0
.Sh DESCRIPTION .Sh DESCRIPTION
This driver provides access to the This driver provides access to the
.Tn SCSI .Tn SCSI
bus connected to an Adaptec bus(es) connected to Adaptec
274x, 284x, 2940, 3940, or controllers based on the 274x, 284x, 2940, 3940, or controllers based on the
.Tn AIC7770, .Tn AIC7770,
.Tn AIC7850, .Tn AIC7850,
@ -65,23 +68,65 @@ ultra
.Tn SCSI, .Tn SCSI,
two active commands at a time per non-tagged queueing target, two active commands at a time per non-tagged queueing target,
tagged queuing, tagged queuing,
and SCB paging which allows up to 255 active commands on all adapters and SCB paging.
except those using .Pp
.Tn AIC7770 The number of concurrent transactions allowed is chip dependent
chips prior to revision E. and ranges from 3 to 16.
Tagged queueing is enabled with the On PCI adapters,
.Dq Dv AHC_TAGENABLE this number can be increased with the SCB paging option.
configuration 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 SCB paging is enabled with the
.Dq Dv AHC_SCBPAGING_ENABLE .Dq Dv AHC_SCBPAGING_ENABLE
configuration option. 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.
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 .Pp
Per target configuration performed in the Per target configuration performed in the
.Tn SCSI-Select .Tn SCSI-Select
menu, accesible at boot menu, accesible at boot
in in
.No non- Ns Tn EISA .No non- Ns Tn EISA
models or through an models,
or through an
.Tn EISA .Tn EISA
configuration utility for configuration utility for
.Tn EISA .Tn EISA
@ -109,15 +154,12 @@ cards.
Some Quantum drives (at least the Empire 2100 and 1080s) will not run on an Some Quantum drives (at least the Empire 2100 and 1080s) will not run on an
.Tn AIC7870 .Tn AIC7870
Rev B in synchronous mode at 10MHz. Controllers with this problem have a 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 drive much confusion. Setting a maximum synchronous negotiation rate of 8MHz
in the in the
.Tn SCSI-Select .Tn SCSI-Select
utility utility
will allow normal function. 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 .Sh SEE ALSO
.Xr aha 4 , .Xr aha 4 ,
.Xr ahb 4 , .Xr ahb 4 ,

View File

@ -1,5 +1,5 @@
.\" .\"
.\" Copyright (c) 1995, 1996 .\" Copyright (c) 1995, 1996, 1997
.\" Justin T. Gibbs. All rights reserved. .\" Justin T. Gibbs. All rights reserved.
.\" .\"
.\" Redistribution and use in source and binary forms, with or without .\" 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 pci0
.Cd controller ahc0 .Cd controller ahc0
.Pp .Pp
To enable SCB paging:
.Cd options AHC_SCBPAGING_ENABLE
.Pp
To enable tagged queueing: To enable tagged queueing:
.Cd options AHC_TAGENABLE .Cd options AHC_TAGENABLE
.Pp .Pp
To enable SCB paging: To allow PCI adapters to use memory mapped I/O if enabled:
.Cd options AHC_SCBPAGING_ENABLE .Cd options AHC_ALLOW_MEMIO
.Pp .Pp
For one or more SCSI busses: For one or more SCSI busses:
.Cd controller scbus0 at ahc0 .Cd controller scbus0 at ahc0
.Sh DESCRIPTION .Sh DESCRIPTION
This driver provides access to the This driver provides access to the
.Tn SCSI .Tn SCSI
bus connected to an Adaptec bus(es) connected to Adaptec
274x, 284x, 2940, 3940, or controllers based on the 274x, 284x, 2940, 3940, or controllers based on the
.Tn AIC7770, .Tn AIC7770,
.Tn AIC7850, .Tn AIC7850,
@ -65,23 +68,65 @@ ultra
.Tn SCSI, .Tn SCSI,
two active commands at a time per non-tagged queueing target, two active commands at a time per non-tagged queueing target,
tagged queuing, tagged queuing,
and SCB paging which allows up to 255 active commands on all adapters and SCB paging.
except those using .Pp
.Tn AIC7770 The number of concurrent transactions allowed is chip dependent
chips prior to revision E. and ranges from 3 to 16.
Tagged queueing is enabled with the On PCI adapters,
.Dq Dv AHC_TAGENABLE this number can be increased with the SCB paging option.
configuration 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 SCB paging is enabled with the
.Dq Dv AHC_SCBPAGING_ENABLE .Dq Dv AHC_SCBPAGING_ENABLE
configuration option. 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.
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 .Pp
Per target configuration performed in the Per target configuration performed in the
.Tn SCSI-Select .Tn SCSI-Select
menu, accesible at boot menu, accesible at boot
in in
.No non- Ns Tn EISA .No non- Ns Tn EISA
models or through an models,
or through an
.Tn EISA .Tn EISA
configuration utility for configuration utility for
.Tn EISA .Tn EISA
@ -109,15 +154,12 @@ cards.
Some Quantum drives (at least the Empire 2100 and 1080s) will not run on an Some Quantum drives (at least the Empire 2100 and 1080s) will not run on an
.Tn AIC7870 .Tn AIC7870
Rev B in synchronous mode at 10MHz. Controllers with this problem have a 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 drive much confusion. Setting a maximum synchronous negotiation rate of 8MHz
in the in the
.Tn SCSI-Select .Tn SCSI-Select
utility utility
will allow normal function. 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 .Sh SEE ALSO
.Xr aha 4 , .Xr aha 4 ,
.Xr ahb 4 , .Xr ahb 4 ,