qclib provides a C API for extraction of system information for Linux on z
Systems.
For instance, it will provide the number of CPUs
- on the machine (CEC, Central Electronic Complex) layer
- on the PR/SM (Processor Resource/Systems Manager) layer, i.e. visible to
LPARs
- in z/VM hosts, guests and CPU pools
- in KVM hosts and guests
This allows calculating the upper limit of CPU resources a highest level guest
can use.
E.g.: If an LPAR on a z13 provides 4 CPUs to a z/VM hypervisor, and the
hypervisor provides 8 virtual CPUs to a guest, qclib can be used to retrieve
all of these numbers, and it can be concluded that not more capacity than 4
CPUs can be used by the software running in the guest.
qclib uses various interfaces and provides this data through a common and
consistent API (Application Programming Interface), using information provided
by:
- STSI (Store System Information) instruction - for more details, refer to
the z/Architecture Principles of Operation (SA22-7832)
- STHYI (Store Hypervisor Information) instruction as provided by a z/VM
hypervisor - for more information, refer to z/VM: V6R3 CP Programming
Service (SC24-6179), chapter 'Store Hypervisor Information (STHYI)
Instruction'.
- hypfs file system - for more information, refer to 'Device Drivers,
Features, and Commands', chapter 'S/390 hypervisor file system'.
License:
BSD-3-Clause
URL: https://github.com/ibm-s390-linux/qclib/archive/refs/tags/2.5.2.tar.gz