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 3-51.

Table 3-51

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