Kernel threads allow a multithreaded application to have a thread executing on every CPU in a multiprocessor system. The /THREADS_ ENABLE qualifier allows you to turn kernel threads on and off on a per-image basis. When you specify this qualifier, the OpenVMS linker sets the appropriate bits in the dynamic segment (x86 and I64) or the image header (Alpha and VAX) of the image being linked. These bits control the following: o Whether the image is allowed to enter a multiple kernel threads environment o Whether the image can receive upcalls from the OpenVMS scheduler If you do not specify this qualifier, the OpenVMS x86 and I64 linker check whether the image to be linked is threaded. If it is, the linker automatically enables upcalls and informs the user with a message. This behavior can be overwritten with negating the qualifier or enabling only multiple kernel threads. Format /THREADS_ENABLE[=(MULTIPLE_KERNEL_THREADS,UPCALLS)] /NOTHREADS_ENABLE (default)
1 – Qualifier Values
MULTIPLE_KERNEL_THREADS On x86, I64 and Alpha systems, this keyword sets the MULTIPLE_KERNEL_THREADS bit in the dynamic segment (x86 and I64) or the image header (Alpha) of the image being built. This bit indicates to the image activator that the image can be run in a multiple kernel threads environment. If you specify this keyword for OpenVMS VAX links, it is ignored. UPCALLS This qualifier sets the UPCALLS bit in the OpenVMS dynamic segment (x86 and I64) or image header (Alpha and VAX) of the image being built. This bit indicates to the image activator that the process can receive upcalls from the OpenVMS scheduler. When the /THREADS_ENABLE qualifier is specified without either the MULTIPLE_KERNEL_THREADS or UPCALLS keyword, the linker sets both bits by default.