
ZCOM Tables and Data Structures
ZCOM Kernel Data
LINFO
The LINFO structure (Lock Information, struct zlinfo) contains the ZCOM locks used globally in the ZCOM subsystem. It is initialized by the LDM during system bootup. The locks are used to provide exclusive access to the sharable data structures in the ZCOM subsystem. The fields are described in Table
Table | LINFO Structure Fields |
|
| |
|
|
|
|
|
Field Name |
| Field Description | Field Type | Size |
| (Bytes) | |||
|
|
|
| |
|
|
|
|
|
ZC_GLOCK |
| Global spinlock | struct | 16 |
|
|
|
|
|
ZC_MLOCK |
| Memory spinlock | struct | 16 |
|
|
|
|
|
ZC_RLOCK |
| Remote ZLU spinlock | struct | 16 |
|
|
|
|
|
ZC_SLOCK |
| Super IFT spinlock | struct | 16 |
|
|
|
|
|
| ZC_GLOCK - Global spinlock |
|
|
This is the highest lock order in the ZCOM subsystem. It protects the ZCOM system header zheader_type in global memory (with some exception, see ZC_RLOCK below), and the LDM static data such as the interface request queue and ZCOM message log buffer.
ZC_MLOCK - Memory pool spinlock
This protects the ZCOM buffer pool. Used in buffer management routines, such as buffer allocation and buffer freeing.
ZC_RLOCK - Remote ZLU spinlock
This lock protects the following ZCOM system header data fields. They are connected with remote nodes or remote API processing:
hrdataq, hpntbl, hndpid, hndsig, hndmax, hnidle, hnhigh, hnlow, hnwait
Chapter 3 | 133 |