SLES 11 also provides additional hardware support. Sysplex Timer Protocol support (STP/ETR) was shipped with SLES11, but late in testing, Novell discovered a problem that caused system hangs. Since it was too late to incorporate the fix for the hang, Novell sent out a maintenance update that disables the feature. The fix should be incorporated into SLES11 Service Pack 1 and the feature re-enabled.
Machine instruction-specific updates to the GNU Compiler Collection (GCC) exploit the new hardware instructions introduced with IBM’s z10. Additionally, the compiler supports the option to tune the code it generates for specific models of the z9 architecture. This means better performance of such generated code will be seen on z9 hardware. The GCC back-end now supports the Decimal Floating Point (DFP) instructions introduced with the z9 and z10. The z9 executes DFP instructions in millicode, but there’s native hardware support for them in the z10. However, don’t get too excited yet; the changes necessary to the GNU libc (glibc) to support DFP in math functions such as sin, cos, and printing functions weren’t ready in time for release in SLES11 GA. Novell plans to upgrade the glibc support for those features in Service Pack 1. The binutils package was similarly updated to exploit the new hardware instructions and provide DFP support.
Many companies require a lot of data encryption, which means a good supply of high-quality random numbers. This has historically been difficult to maintain over time, since there are few good sources of entropy in most computers. The latest cryptographic cards from IBM can quickly provide long random number generation, and the support to use that hardware is included in SLES11.
Selective logging of ECKD DASD lets you turn on logging of sense data for only those devices of interest. This reduces the amount of data collected that you must wade through compared to prior versions where logging was either on or off for all devices. This is of most value to Logical Partition (LPAR) systems; VM users have had this capability all along via CP monitor data streams.
High-performance FICON channels are tolerated, but not yet exploited. Exploitation should come with Service Pack 1. Hyper Parallel Access Volume (PAV) support has been added, which should mean easier setup on the Linux side of things and better overall performance. System administration work should be reduced for both LPAR and z/VM installations, since alias assignment is dynamic rather than static.
Vertical CPU management is an attempt to make Linux more aware of the Non-Uniform Memory Access (NUMA) topology of the z9 and z10. Mainframes have had NUMA-like characteristics for quite a while. This became even more pronounced with the z10, so code has been added to try to minimize those effects by working with PR/SM to dispatch work longer than usual on a particular processor. Processors can be designated high, medium, or low vertical. Low CPUs get hardly any real CPU time, while high CPUs get a full real CPU; medium CPUs get something in between. By default, the older scheme, horizontal, is enabled, but this can be dynamically changed via the /sys file system.
Fibre Channel Protocol
Small Computer System Interface (SCSI) over Fibre Channel Protocol (FCP) is seeing rapidly increasing adoption, particularly as more database workload is moved to Linux on System z. This has made performance data collection and analysis more important then ever, which has been a weak point of this technology when compared to FICON. The FCP adapters were modified to provide more performance data, and the zFCP driver was updated to extract it.
Beyond the kernel exploitation of hardware features, user space tools to facilitate the collection of the data the kernel extracts were added to the s390- tools package. All these changes are intended to provide more visibility of the various FCP and SCSI components that affect performance.