BACKGROUND

One or more aspects relate, in general, to processing within a computing environment, and in particular, to facilitating such processing.

Computers of a computing environment include central processing units (CPUs) or processors that control processing within the computers. Behavior of a central processing unit is controlled by control registers. Control registers are processor registers that perform particular tasks, such as interrupt control, switching the addressing mode, paging control and/or coprocessor control, as examples.

Control registers are typically implemented as latches, such as solid state elements directly on a processor chip. Some computers use a large number of control registers, as defined by the architectural implementation of the computers. Thus, control registers represent a growing area of the chip.

Moreover, some computers support multi-threading in which a central processing unit can execute multiple processes or threads concurrently. Each thread uses a separate set of control registers; thereby, increasing the number of control registers on a chip.

An increasing number of latch-based control registers may affect performance, chip area and/or power consumption. For instance, control registers are switched during context switches, and thus, an increase in the number of control registers, increases the cost of context switching. Further, with latch-based control registers, updates to controls occur in program order, which may also affect performance.

Different architectures may have different names for control registers. For instance, in the Power Architecture offered by International Business Machines Corporation, Armonk, N.Y., the control registers are referred to as special purpose register (SPRs). Other architectures may use other names. The use of control registers herein includes control registers of other names, including, for instance, SPRs, as well as others.

SUMMARY

Shortcomings of the prior art are overcome and additional advantages are provided through the provision of a computer program product for facilitating processing within a computing environment. The computer program product includes at least one computer readable storage medium readable by at least one processing circuit and storing instructions for performing a method. The method includes, for instance, determining that a unit of memory that provides storage for one or more in-memory configuration state registers is to be pinned in a system that includes a guest operating system and one or more hosts at one or more host levels. Based on determining that the unit of memory is to be pinned, at least one host of the one or more hosts is notified that the unit of memory is to be pinned. By pinning a memory unit that provides storage for the one or more in-memory configuration state registers, the memory unit is prevented from moving, thus, facilitating processing and improving performance.

In one example, the determining is performed based on receiving a new configuration value for the unit of memory. The new configuration value is, for instance, a guest address used to locate the unit of memory. By performing the pinning based on receiving the new configuration value, the pinning is performed automatically, facilitating processing and improving performance.

In a further aspect, the method includes selecting a host level of the one or more host levels. The guest address is translated to a host address for the selected host level, and the selected host level is notified of the pinning. In yet a further aspect, the selecting, the translating and the notifying are repeated for each host level of the one or more host levels.

As one example, the notifying includes setting an indicator in a page table entry corresponding to the selected host level. As another example, the notifying includes setting an indicator in a page table entry corresponding to the unit of memory. In yet a further example, the notifying includes raising an interrupt.

In a further aspect, a determination is made that the unit of memory is to be unpinned, and based on determining that the unit of memory is to be unpinned, an indicator used to indicate pinning is reset. This provides flexibility in memory management.

As one example, the unit of memory is a page of memory.

Computer-implemented methods and systems relating to one or more aspects are also described and claimed herein. Further, services relating to one or more aspects are also described and may be claimed herein.

Additional features and advantages are realized through the techniques described herein. Other embodiments and aspects are described in detail herein and are considered a part of the claimed aspects.

