April 7, 2014

Request for Enhancement (RFE) community launched including Linux on System z and z/VM requirements

The Request for Enhancement (RFE) community has been used for IBM Software products for a while. Now also the Systems and Systems Software including Linux on System z and z/VM have been included there. Up to now requirements have only been discussed internally - this is now open to everyone with an IBM ID. In my opinion this is really good.

This community is meant for submitting and discussing requirements and feature requests for specific products. In the community please select "Linux on System z"  for zLinux requirements and "z/VM" for z/VM requirements.
Also feel free to comment and vote for already existing requirements!

Who is going to submit the first one in the categories?

February 13, 2014

IBM XL C/C++ for Linux on System z beta program

IBM has launched a beta program for a new compiler for Linux on System z. If you've been working with IBM platforms you may already know the xlc compiler. This compiler is now also available as a beta for Linux on System z as well.
Interested customers and software vendors should register for it at this registration link (free IBM ID required).

The key difference to the gcc included in the distributions is that this compiler is independent of the distribution. So as a software developer you can use this compiler and more important the generated binaries on all the supported Linux distribution. By that you can get improvements like zEC12 exploitation earlier than waiting for the next gcc in a distribution.

And my personal hope is that the performance will also be good as well. We will know this when the compiler is generally available.

January 20, 2014

Oracle Database 12c R1 and fixpack available for Linux on System z

Oracle has released the new 12cR1 version of their database for Linux on System z. With the appropriate license you can download it from Oracle. There is a also a blog entry in the Oracle blog. For more details see this IBM Flash.
The Redbook "Experiences with Oracle Database 12c Release 1 on Linux on System z" is a "must read" if you want to start with Oracle 12c on System z.
In the IBM Germany Lab in Boeblingen there has been a class called "Oracle Bootcamp". The presentations can be downloaded here.

Also for the older version 11R2 Oracle released the patchset. There is also a new Redbook available for Oracle 11: Experiences with Oracle 11gR2 on Linux on System z.

(updated 3/26/2014)

January 14, 2014

Fedora 20 for IBM System z released

The new Fedora 20 for System z / s390x was released 1/8/2014. Thanks to the Fedora team keeping the distribution going!

The download is available from the Fedoraproject site and the respective mirrors and known issues  are covered in the wiki.

December 20, 2013

Oprofile on zLinux - how to setup and use

(updated 1/8/2014)

Oprofile is a system wide profiler which is available in all major distributions for Linux on System z. Here is the setup and use for RHEL 6 and SLES 11.

The following example is for RHEL 6.5 (kernel 2.6.32-431.1.2.el6.s390x). For other kernel levels you need to adapt the package numbers. But basically it should work the same. The Red Hat description is here.

First step: install the required packages:
  • oprofile-0.9.7-1.el6.s390x
  • oprofile-jit-0.9.7-1.s390x (only needed for profiling Java code)
  • oprofile-gui-0.9.7-1.el6.s390x (only needed if you want the GUI)
  • kernel-debuginfo-2.6.32-431.1.2.el6.s390x.rpm
  • kernel-debuginfo-common-s390x-2.6.32-431.1.2.el6.s390x.rpm
Note that the kernel-debuginfo packages are only available on RHN. See this howto get it. You need to log into your Red Hat Customer portal for the full information. Also install from RHN any other debuginfo package of a distribution package you want to analyze. 

Second step: configure oprofile
opcontrol --setup --vmlinux=/usr/lib/debug/lib/modules/`uname -r`/vmlinux

Third step: measure workload
opcontrol --start
run your workload
opcontrol --stop
opcontrol --dump 

Last step: call opreport or opannotate with the options you want. For understanding options use the respective man pages. One commonly used option is:
opreport --symbols
Don't be surprised by an entry with symbol name vtime_stop_cpu. That's cpu  idle in RHEL 6.

For SLES 11 SP3 the setup is similar. SUSE has a good description on how to use in their Systems Analysis and Tuning Guide.

So in the first step you need to install oprofile-0.9.8-0.13.31.s390x.rpm from the SDK. Optionally  the kernel debuginfo package e.g. kernel-default-debuginfo-3.0.76-0.11.1.s390x.rpm as well as all the debuginfo versions of distribution packages you want to profile.

The vmlinux file for SLES is gzipped in /boot. If you have enough space there you can just gunzip it in place otherwise put it in /tmp as the SUSE guide suggests. Then in the second step you set up oprofile by
opcontrol --setup --vmlinux=/boot/vmlinux-`uname -r` 

Step 3 & 4 for SLES 11 are the same as above. 

If you want to analyze data on another system use oparchive. It will generate a directory with all required data that you can compress and take off the system. So e.g.
oparchive -p <path to Linux modules> -o /tmp/myoutputdir

You can also include Java and JITed code into the profiling by adding
to your Java options. For SLES11 you need to add /usr/lib64/oprofile to your LD_LIBRARY_PATH. This especially valuable if you don't know yet where to search for a problem. If you have identified Java code as the problem then a specialized profiler is probably the better choice.

November 25, 2013

Installation of Linux on System z

Now and then I get the question on documentation for the base installation of Linux on System z. As this depends on the distribution, take a look at the documentation from the distribution partners first:
There is also a Live Virtual Class with a demonstration of some of the access methods. Charts and a replay are available for this.
The installation is also covered in several Redbooks, e.g. The Virtualization Cookbook for z/VM 6.3, RHEL 6.4 and SLES 11 SP3. 

November 22, 2013

Red Hat Enterprise Linux 6.5 released

Nine months after the last release Red Hat has announced the availability of RHEL 6.5. The kernel level is now kernel-2.6.32-431.el6, for the main bug fixes see the kernel update description.

As usual there are the release notes and the technical notes in two separate documents. For System z this has been a mainly a fix release. Only a few small enhancements have been added all described in the technical notes. Here are some of them:
The IBM documentation for RHEL 6.4 on developerworks still applies for this release.

November 18, 2013

Raw ECKD access from zLinux

Since a while the Linux DASD driver has been enhanced to access full ECKD tracks. Basically the following steps are needed:
  1. Take the device offline from other System z operating systems
  2. get the device online in zLinux 
  3. switch the device in raw ECKD mode:
    echo 1 > /sys/bus/ccw/devices/<device ID>/raw_track_access
  4. use a program that reads and writes whole tracks (64k) with direct IO like a dd with the respective flags to read or write
More details can be found in the chapter about the DASD driver (search for "raw_track_access") in the "Device Drivers, Features, and Commands" book for the respective distributions, e.g.
This book is really recommended as a reference.  

October 7, 2013

Red Hat Enterprise Linux 5.10 released

Red Hat has announced the availability of RHEL 5.10. You can find more information on this here:
This update has been the last release of RHEL 5 in the "Production 2"  phase. February of next year RHEL 5 will enter "Production 3". So from now on officially it's security and bug fixes only. For the exact details see the life cycle page from Red Hat.

From a System z perspective this is a pure bug fix release. Now new features have been added.