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:
parent
df98fb1bb2
commit
2e3507efc7
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=22897
@ -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 ,
|
||||||
|
@ -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 ,
|
||||||
|
Loading…
Reference in New Issue
Block a user