Friday, July 29, 2016

Linux kernel 4.7 released

In Linux kernel 4.7 (available here), we improved usability of the kvm_stat tool for z Systems, introducing (among others) new option -p to filter by process ID.

Using kvm_stat, one can monitor e.g. the number of SIE exits or specific diags to investigate performance issues:
  kvm statistics - summary

   Event                                        Total Current
   kvm_s390_sie_enter                          621113      96
   kvm_s390_sie_exit                           621113      96
   kvm_vcpu_wakeup                             231054      69
   kvm_s390_intercept_instruction              187720      24
   kvm_halt_poll_ns                            131133      15
   kvm_s390_handle_diag                         64543      12
   kvm_userspace_exit                            1427      11
   kvm_s390_handle_sigp                        121746       1
   kvm_set_irq                                 154402       0
   kvm_s390_handle_sigp_pei                     18407       0
   kvm_s390_handle_stsi                            12       0
   kvm_s390_handle_stfl                             1       0
Use option -p to further investigate specific QEMU processes to identify the potential culprits:
  $ ./kvm_stat -p 4304 -1 | grep kvm_s390_sie
  kvm_s390_sie_enter                              3985      3985
  kvm_s390_sie_exit                               3985      3985
  kvm_s390_sie_fault                                 0         0

Wednesday, July 13, 2016

Webinar: KVM for z Systems Performance

Abstract: KVM for IBM z Systems performance has not been presented at conferences before. This session covers performance aspects of the KVM host, virtual devices, and considerations for guest definitions to reach certain performance levels. It will also give examples how to monitor host and guest.
Note: It is not intended to compare KVM for IBM z Systems to other hypervisors.
Speaker: Martin Kammerer, Manager Linux on z Systems Performance Evaluation, IBM Germany

Audience: IT Managers, IT Architects, System Administrators

Date: Wednesday, July 20, 2016
Time: 11:00 AM EST / New York, 4:00 PM UK, 5:00 PM CET / Germany
Duration: 75 minutes

Registration: You can register here. After registering, you will receive a confirmation email containing information about joining the webinar.

Replay & Archive
: All sessions are recorded. For the archive as well as a replay and handout of this session (available by July 25, 2016), as well as all previous webcasts please visit

Contact: Please direct any questions to Stephanie Gherghe at

Friday, July 8, 2016

KVM on z Documentation References

The amount of documentation provided in the IBM Knowledge Center can at times be overwhelming. Therefore, this constantly-updated blog entry will provide some general guidance.

The documentation for KVM on z (see overall entry point here) is grouped under these categories:
For white papers, Redbooks, live virtual classes, and more, check out the materials related to virtualization on z Systems available here.

In addition, here is a document listing the recommended limits when running KVM on z Systems. It is aimed at the KVM for IBM z product, but also provides a good starting point when running other flavors of KVM on z.

Finally, documentation and pointers on ICM (IBM Cloud Manager, IBM's OpenStack-based product) can be found here.

Friday, June 24, 2016

KVM Forum 2016

The schedule of the KVM Forum 2016, to be held August 24-26 in Toronto, is out here.
We (KVM on z project) will be hosting three sessions:

Friday, June 10, 2016

qclib v1.2.0 released

New version qclib v1.2.0 was released on IBM developerWorks here.
Among others, this version adds additional counts for KVM hosts and guests as follows:
  • For KVM hosts: Counts for CPs, IFLs and CPUs (sum of CPs and IFLs)
  • For KVM guests: CP and IFL counts
Below is some (edited) output of the sample program qc_test (part of the library), highlighting the new attributes for a KVM host with 4 IFLs and a guest with 2 virtual IFLs. See the README for documentation and further details.
        ===== Layer 3: KVM-hypervisor ==========================
                 qc_layer_type [n/a]: KVM-hypervisor
             qc_layer_category [n/a]: HOST
             qc_layer_type_num [n/a]: 6
         qc_layer_category_num [n/a]: 2
         qc_control_program_id [S  ]: KVM/Linux
                 qc_adjustment [S  ]: 1000

              qc_num_cpu_total [  V]: 4
          qc_num_cpu_dedicated [SHV]: 0
             qc_num_cpu_shared [SHV]: 4
               qc_num_cp_total [ HV]: 0
           qc_num_cp_dedicated [ hV]: 0
              qc_num_cp_shared [ hV]: 0
              qc_num_ifl_total [SHV]: 4
          qc_num_ifl_dedicated [ShV]: 0
             qc_num_ifl_shared [ShV]: 4


          ===== Layer 4: KVM-guest
                   qc_layer_type [n/a]: KVM-guest
               qc_layer_category [n/a]: GUEST
               qc_layer_type_num [n/a]: 7
           qc_layer_category_num [n/a]: 1
                   qc_layer_name [S  ]: u1604
          qc_layer_extended_name [S  ]: u1604
                   qc_layer_uuid [S  ]: 407d134c-7d93-4a7b-bd27-4568ef10e85a

                qc_num_cpu_total [S  ]: 2
           qc_num_cpu_configured [S  ]: 2
              qc_num_cpu_standby [S  ]: 0
             qc_num_cpu_reserved [S  ]: 0
            qc_num_cpu_dedicated [S  ]: 0
               qc_num_cpu_shared [S  ]: 2
                qc_num_ifl_total [S  ]: 2
            qc_num_ifl_dedicated [S  ]: 0
               qc_num_ifl_shared [S  ]: 2
            qc_ifl_dispatch_type [SHV]: 3


    qclib is a C library providing access to system information on the various layers of virtualization on z Systems.

    KVM for IBM z Systems Feature Requests

    In case you are missing a feature in IBM's own Linux distribution KVM for IBM z Systems, you can now join the RFE (Request for Enhancement) community on developerWorks to file your request!
    Use the following query in the community to list all requests against KVM for IBM z Systems:

    Monday, June 6, 2016

    libvirt 1.3.5 released

    libvirt v1.3.5 is now available for download here.
    The list of highlights improving z Systems platform support is as follows:
    • virt-host-validate: Added support for the s390 platform. This tool detects virtualization capabilities of a host, and can verify capabilities for a specific hypervisor such as QEMU. 
    • Added a panic device model for s390. This new device model allows to represent the z Systems architecture's guest panic capabilities. A panic device is useful to receive guest panic events.