svn commit: r200251 - head/sys/dev/aac
Jung-uk Kim
jkim at FreeBSD.org
Tue Dec 8 05:35:52 UTC 2009
Author: jkim
Date: Tue Dec 8 05:35:51 2009
New Revision: 200251
URL: http://svn.freebsd.org/changeset/base/200251
Log:
- Try pre-allocating all FIBs upfront. Previously we tried pre-allocating
128 FIBs first and allocated more later if necessary. Remove now unused
definitions from the header file[1].
- Force sequential bus scanning. It seems parallel scanning is in fact
slower and causes more harm than good[1]. Adjust a comment to reflect that.
PR: kern/141269
Submitted by: Alexander Sack (asack at niksun dot com)[1]
Reviewed by: scottl
Modified:
head/sys/dev/aac/aac.c
head/sys/dev/aac/aac_cam.c
head/sys/dev/aac/aacvar.h
Modified: head/sys/dev/aac/aac.c
==============================================================================
--- head/sys/dev/aac/aac.c Tue Dec 8 05:32:44 2009 (r200250)
+++ head/sys/dev/aac/aac.c Tue Dec 8 05:35:51 2009 (r200251)
@@ -604,7 +604,7 @@ aac_alloc(struct aac_softc *sc)
TAILQ_INIT(&sc->aac_fibmap_tqh);
sc->aac_commands = malloc(sc->aac_max_fibs * sizeof(struct aac_command),
M_AACBUF, M_WAITOK|M_ZERO);
- while (sc->total_fibs < AAC_PREALLOCATE_FIBS) {
+ while (sc->total_fibs < sc->aac_max_fibs) {
if (aac_alloc_commands(sc) != 0)
break;
}
Modified: head/sys/dev/aac/aac_cam.c
==============================================================================
--- head/sys/dev/aac/aac_cam.c Tue Dec 8 05:32:44 2009 (r200250)
+++ head/sys/dev/aac/aac_cam.c Tue Dec 8 05:35:51 2009 (r200251)
@@ -260,8 +260,11 @@ aac_cam_action(struct cam_sim *sim, unio
cpi->hba_inquiry = PI_WIDE_16;
cpi->target_sprt = 0;
- /* Resetting via the passthrough causes problems. */
- cpi->hba_misc = PIM_NOBUSRESET;
+ /*
+ * Resetting via the passthrough or parallel bus scan
+ * causes problems.
+ */
+ cpi->hba_misc = PIM_NOBUSRESET | PIM_SEQSCAN;
cpi->hba_eng_cnt = 0;
cpi->max_target = camsc->inf->TargetsPerBus;
cpi->max_lun = 8; /* Per the controller spec */
Modified: head/sys/dev/aac/aacvar.h
==============================================================================
--- head/sys/dev/aac/aacvar.h Tue Dec 8 05:32:44 2009 (r200250)
+++ head/sys/dev/aac/aacvar.h Tue Dec 8 05:35:51 2009 (r200251)
@@ -57,13 +57,6 @@
#define AAC_ADAPTER_FIBS 8
/*
- * FIBs are allocated in page-size chunks and can grow up to the 512
- * limit imposed by the hardware.
- */
-#define AAC_PREALLOCATE_FIBS 128
-#define AAC_NUM_MGT_FIB 8
-
-/*
* The controller reports status events in AIFs. We hang on to a number of
* these in order to pass them out to user-space management tools.
*/
More information about the svn-src-head
mailing list