cpuinfo_t 结构定义 CPU。如表 26–2 中所示,enqueue 和 dequeue 探测器的参数都包括指向 cpuinfo_t 的指针。此外,curcpu 变量指向对应于当前 CPU 的 cpuinfo_t。cpuinfo_t 结构的定义如下所示:
typedef struct cpuinfo { processorid_t cpu_id; /* CPU identifier */ psetid_t cpu_pset; /* processor set identifier */ chipid_t cpu_chip; /* chip identifier */ lgrp_id_t cpu_lgrp; /* locality group identifer */ processor_info_t cpu_info; /* CPU information */ } cpuinfo_t;
cpu_id 成员是 psrinfo(1M) 和 p_online(2) 返回的处理器标识符。
cpu_pset 成员是包含 CPU(如果存在)的处理器集。有关处理器集的更多详细信息,请参见 psrset(1M)。
cpu_chip 成员是物理芯片的标识符。物理芯片可能包含若干 CPU。有关更多信息,请参见 psrinfo(1M)。
cpu_lgrp 成员是与 CPU 关联的延迟组的标识符。有关延迟组的详细信息,请参见 liblgrp(3LIB)。
cpu_info 成员是与 CPU 相关联的 processor_info_t 结构(由 processor_info(2) 返回)。