diff options
author | msmith <msmith@FreeBSD.org> | 2000-10-25 06:59:06 +0000 |
---|---|---|
committer | msmith <msmith@FreeBSD.org> | 2000-10-25 06:59:06 +0000 |
commit | a020bb21aa31f25d8afabdd26ae39c3be4e2f3e8 (patch) | |
tree | 1a80409022fabbd27d947d98872637c45883493a /sys/modules/twe | |
parent | ff18363a3e5e60f38c8f7a52c7e7f4ea1c8b797f (diff) | |
download | FreeBSD-src-a020bb21aa31f25d8afabdd26ae39c3be4e2f3e8.zip FreeBSD-src-a020bb21aa31f25d8afabdd26ae39c3be4e2f3e8.tar.gz |
Major update to the 'twe' driver.
- Layout reorganisation to enhance portability. The driver now has
a relatively MI 'core' and a FreeBSD-specific layer over the top.
Since the NetBSD people have already done their own port, this is
largely just to help me with the BSD/OS port.
- Request ID allocation changed to improve performance (I'd been
considering switching to this approach after having failed to come
up with a better way to dynamically allocate request IDs, and seeing
Andy Doran use it in the NetBSD port of the driver convinced me
that I was wasting my time doing it any other way). Now we just
allocate all the requests up front.
- Maximum request count bumped back to 255 after characterisation
of a firmware issue (off-by-one causing it to crash with 256
outstanding commands).
- Control interface implemented. This allows 3ware's '3dm' utility to
talk to the controller. 3dm will be available from 3ware shortly.
- Controller soft-reset feature added; if the controller signals a
firmware or protocol error, the controller will be reset and all
outstanding commands will be retried.
Diffstat (limited to 'sys/modules/twe')
-rw-r--r-- | sys/modules/twe/Makefile | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/sys/modules/twe/Makefile b/sys/modules/twe/Makefile index f12f4e9..2d0639b 100644 --- a/sys/modules/twe/Makefile +++ b/sys/modules/twe/Makefile @@ -1,7 +1,32 @@ # $FreeBSD$ +# +# The 3ware controller offers a choice of options related to handling of +# mirror consistency in shutdown situations. +# +# If TWE_SHUTDOWN_NOTIFICATION is defined, the driver will inform the +# controller on clean shutdown. On reboot after an unclean shutdown, the +# controller will perform a complete mirror rebuild. This is the most +# "safe" configuration, but it imposes a severe performance penalty in the +# event of an unexpected reboot. +# +# In the alternate configuration, the controller assumes that all writes to +# a mirror complete successfully. In the case of an unclean shutdown, +# mirror corruption may occur if the controller is reset or power is lost +# during a disk write. This configuration is more suitable if the system +# has reliable power, but may be unstable for other reasons. +# +CFLAGS+=-DTWE_SHUTDOWN_NOTIFICATION + +# +# The module can be built to override a compiled-in driver +# +#CFLAGS+=-DTWE_OVERRIDE + .PATH: ${.CURDIR}/../../dev/twe KMOD= twe -SRCS= bus_if.h device_if.h pci_if.h twe.c twe_disk.c +SRCS= bus_if.h device_if.h pci_if.h twe.c twe_freebsd.c + +#CFLAGS+=-DTWE_DEBUG=0 .include <bsd.kmod.mk> |