1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
\par
\section{Data Structure}
\label{section:SubMtxManager:dataStructure}
\par
\par
The {\tt SubMtxManager} structure has the following fields.
\begin{itemize}
\item
{\tt SubMtx *head} :
head of the free list of {\tt SubMtx} objects.
\item
{\tt Lock *lock} : mutual exclusion lock.
\item
{\tt int mode} : behavior mode.
When {\tt mode = 0}, the object calls {\tt SubMtx\_new()}
and {\tt SubMtx\_free()} to create and release objects.
When {\tt mode = 1}, the object recycles the objects.
\item
{\tt int nactive} : number of active {\tt SubMtx} objects.
\item
{\tt int nbytesactive} :
number of bytes in the active {\tt SubMtx} objects.
\item
{\tt int nbytesrequested} :
total number of bytes in the requested {\tt SubMtx} objects.
\item
{\tt int nbytesalloc} :
total number of bytes that were actually allocated in the workspace
of the {\tt SubMtx} objects.
\item
{\tt int nrequests} :
total number of requests for {\tt SubMtx} objects.
\item
{\tt int nreleases} :
total number of releases of {\tt SubMtx} objects.
\item
{\tt int nlocks} :
total number of locks made on the mutual exclusion lock.
\item
{\tt int nunlocks} :
total number of unlocks made on the mutual exclusion lock.
\end{itemize}
|