Subject: CVS commit: src/sys/dev/raidframe
To: None <source-changes@NetBSD.org>
From: Greg Oster <oster@netbsd.org>
List: source-changes
Date: 03/19/2004 15:16:18
Module Name:	src
Committed By:	oster
Date:		Fri Mar 19 15:16:18 UTC 2004

Modified Files:
	src/sys/dev/raidframe: rf_dag.h rf_dagdegrd.c rf_dagdegwr.c
	    rf_dagutils.c rf_map.c

Log Message:
Take care of six more mallocs:

- Pull rf_FreePhysDiskAddr() out from under a #ifdef, since we're now
going to use it.

- Add a pda_cleanup_list into the DAG header.  Use it in rf_FreeDAG() to
cleanup any PDA's that get allocated but have no "easy" way of being
located and freed when the DAG completes.

- numStripeUnitsAccessed is a per-stripe value, and has a maximum
value equal to the number of colums (thus limited by RF_MAXCOL).
Use this knowledge to set a high-bound on overlappingPDAs, and stuff
it on the stack instead of malloc'ing it all the time!  This costs us
a whopping 40 bytes on the stack, but saves a malloc() and a free().


To generate a diff of this commit:
cvs rdiff -r1.12 -r1.13 src/sys/dev/raidframe/rf_dag.h
cvs rdiff -r1.20 -r1.21 src/sys/dev/raidframe/rf_dagdegrd.c
cvs rdiff -r1.18 -r1.19 src/sys/dev/raidframe/rf_dagdegwr.c
cvs rdiff -r1.38 -r1.39 src/sys/dev/raidframe/rf_dagutils.c
cvs rdiff -r1.35 -r1.36 src/sys/dev/raidframe/rf_map.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.