HP (Hewlett-Packard) Version 8.4 Server User Manual


 
Programming Release Notes
5.10 Privileged Data Structures Updates
5.10.1 KPB Extensions
V8.2
Prior versions of OpenVMS supported the use of KPBs for kernel mode above IPL
2. To make the transition to Integrity servers easier, usage of KPBs has been
expanded for use in outer modes and all IPLs. This Alpha and Integrity servers
change allows certain code that previously had private threading packages to
make use of KPBs on both Alpha and Integrity servers. In order to support these
changes to kernel processes, some changes to the KPB structure were required.
No source changes should be necessary for existing Alpha code.
5.10.2 CPU Name Space
V8.2
OpenVMS currently has an architectural limit of a maximum CPU ID of 31.
Various internal data structures and data cells have allocated 32 bits for CPU
masks. We are increasing the amount of space allocated for these masks to 64
bits for Alpha and 1024 bits on Integrity servers to allow supporting larger CPU
IDs in a future release. The existing longword CPU mask symbols and data cells
will still be maintained.
There should be no initial impact to privileged images and drivers. However, at
some time in the future, HP will document how privileged products that refer to
CPU masks must change their code to support systems with CPU IDs greater
than 31.
5.10.3 64-Bit Logical Block Number (LBN)
V8.4
OpenVMS today supports LBNs of only 32-bits. This limits our support of a disk
volume to 2 TB. The amount of space allocated for internal LBN elds is being
increased to 64-bits to allow support for larger disk volumes in the future. The
existing longword LBN symbols will still be maintained and will be overlaid with
a quadwords symbol.
5.10.4 Forking to a Dynamic Spinlock
V8.2
In order to scale the OpenVMS operating system on large SMP systems, a
number of areas in the operating system have been using dynamic spinlocks
as opposed to the very limited number of static spinlocks. The ability to FORK
and have the fork dispatcher obtain synchronization with a dynamic spinlock is
desirable. We are adding this capability to OpenVMS Version 8.2 by extending
the size of the FKB structure and by adding a FKB$L_SPINLOCK eld to the
end of this structure. This spinlock eld is referenced only if FKB$B_FLCK
contains the value SPL$C_DYNAMIC. The FKB structure is embedded in many
other system data structures, and this change impacts the size and layout of a
large number of privileged data structures
Applications that copy the FKB$B_FLCK eld from an OpenVMS created
structure to another FKB should also consider copying the data in the FKB$L_
SPINLOCK eld.
HP recommends that privileged code check for cases of allocating FKB structures
and using a hard-coded value for the size of 32. Code should use the symbol
FKB$C_LENGTH for the size of a FKB.
Programming Release Notes 5–7