Current & Future State of Linux on System z

A presentation at Atlanta System z Council in March 2009 in Atlanta, GA, USA by Shawn Wells

Slide 1

Slide 1

Current & Future State of Linux on System z Updated 13-MAR 2009

Slide 2

Slide 2

Agenda & Introduction ● Red Hat System z Business Update ● RHEL 5.3 Update (released 20-JAN 2009) – What’s new? – What’s new specifically for System z? ● Future Tech / Upstream Development Efforts

Slide 3

Slide 3

Agenda & Introduction Shawn Wells swells@redhat.com Global System z Alliance Manager (+1) 443 534 0130 ● Based in Washington, D.C. ● Global responsibility for Red Hat’s System z activities

Slide 4

Slide 4

System z Business Update

Slide 5

Slide 5

Red Hat / IBM Relationship ● ● ● Cross platform relationship founded in the late 90s (when Red Hat incorporated) Started releasing RHEL for s390 in 2001 Formal Linux on System z agreement & announcement in 2007 (http://www-03.ibm.com/press/us/en/pressrelease/21513.wss) ● Red Hat has dedicated staff to System z (we haven’t done this for any other H/W platform)

Slide 6

Slide 6

Red Hat Development & Subscription Model

Slide 7

Slide 7

Red Hat Development Model COMMUNITY - Development with “upstream communities” - Kernel, glibc, Apache, etc - Collaboration with open source community; individuals, business partners, customers

Slide 8

Slide 8

Red Hat Development Model FEDORA - Bleeding edge - Sets technology direction for RHEL - Community supported - Released ~6mo cycles - Fedora 8,9,10 = RHEL6

Slide 9

Slide 9

Red Hat Development Model RHEL - Stable, matured - Q&A, testing - H/W & S/W Certifications - 7yr maintenance - Core ABI compatibility - Major releases 2-3yr cycle

Slide 10

Slide 10

Joint Red Hat / IBM Development Kernel Lines Changed - 2.6.23

Slide 11

Slide 11

RHEL 5.2 Tech Deep Dive

Slide 12

Slide 12

RHEL 5.2: Technical Review ● Accelerated in-kernel Crypto – ● Support for crypto algorithms of z10 (SHA-512, SHA-384, AES-192, AES-256) Two OSA ports per CHPID; Four port exploitation – Exploit next OSA adapter generation which offers two ports within one CHPID. The additional port number 1 can be specified with the qeth sysfs-attribute “portno” Support is available only for OSA-Express3 GbE SX and LX on z10, running in LPAR or z/VM guest (PFT for z/VM APAR VM64277 required!)

Slide 13

Slide 13

RHEL 5.2: Technical Review ● ● SELinux per-package access controls – Replaces old packet controls – Adds secmark support to core networking Add nf_conntrack subsystem – Allows IPv6 to have stateful firewall capability – Enables analysis of whole streams of packets, rather than only checking the headers of individual packets Audit Subsystem Support for process-context based filtering – More filter rule comparators

Slide 14

Slide 14

RHEL 5.3 Tech Deep Dive

Slide 15

Slide 15

RHEL 5.3 Overview ~150 additions, ~3,400 BugZillas FasTrack Features Hardware Other ● ● ● ● 7% FasTrack Early release of low impact fixes 7% Hardware Enablement New chipsets & processor feature support 21% New Features Feature requests from customers & partners 65% “Other” Feature enhancements, Bug fixes, Documentation

Slide 16

Slide 16

RHEL 5.3: Technical Review ● Highlights – Added RAID 4/5/10 in dm-raid – DHCPv6 Support – Inclusion of OpenJDK ● ● ● – Full open source JDK for Java 1.6 support Tested with Java SE 1.0 Technical Compatibility Kit (TCK) ==> 100% x86 and x86_64 architectures only! Root ( / ) and SWAP encryption support in the installer

Slide 17

Slide 17

RHEL 5.3: Technical Review ● Highlights, cont – Improved Audit & Logging ● TTY Input audit support

Slide 18

Slide 18

RHEL 5.3: System z Specific BugZilla ID Summary 46327 stage1: sshd error loading shared lib: libfipscheck.so.1 184770 LTC18425-62140: (big) xDR system Initialization for LPAR Clients 472788 rhel 5.3 snapshot3 scsi mpath install failed on z9bc lpar 439479 LTC:5.3:201474:Include gcc 4.3 as Add-On for latest z10 instruction set support 439440 LTC:5.3:201160:Long Random Numbers Generation 439441 LTC:5.3:201158:Selective Logging of ECKD DASD devices 439482 LTC:5.3:201542:FCP - Enhanced Trace Facility 447379 LTC:5.3:200994:Linux CPU Node Affinity 463917 unable to find DASD drives to install 439484 LTC:5.3:201490:Libica Library: Integration of Icainfo 43946 LTC:5.3:201360:OSA 2 Ports per CHPID Support - Installer Enhancements 466474 [RHEL5.3] *** glibc detected *** /usr/bin/python: double free or corruption (!prev): 0x000 0000080d55e90 *** 466305 cosmetic error message: failure in nl_set_device_mtu 466291 anaconda silently omits uninitialized disk

Slide 19

Slide 19

RHEL 5.3: Technical Review GCC 4.3 Inclusion (latest z10 instruction support) (Red Hat BugZilla 439479, IBM BugZilla 43379 ) ● Includes the following z10 specific patches to GCC – Introduce TARGET_MEM_CONSTRAINT macro – Introduce ‘enabled’ insn attribute – S/390: Exploit the ‘enabled’ insn attribute – S/390: Replace ‘m’ with ‘RT’ constraints – S/390: Add the -march=z10/-mtune=z10 options for z10 – S/390: Support the new instructions introduced with z10 – S/390: z10 pipeline description – PR36822 recog: Reorder extra memory constraint checks for inline assemblies – S/390: Fix -march=z9-ec -msoft-float

Slide 20

Slide 20

RHEL 5.3: Technical Review GCC 4.3 Inclusion (latest z10 instruction support) (Red Hat BugZilla 439479, IBM BugZilla 43379 ) ● Includes the following z10 specific patches to GCC – Overall improvement with z10 versus z9: 1.9x Graph taken from Mustafa Mešanović’s T3 Boeblingen presentation, 1-JULY 2008, “Linux on System z Performance Update”

Slide 21

Slide 21

RHEL 5.3: Technical Review Long Numbers Generation (Red Hat BugZilla 439440, IBM BugZilla 43340) ● ● Provides access to the random number generator on the crypto card in order to meet high volume random number requirements Frequently useful when high amount of SSL handshakes occur (JBoss, WebSphere, etc), or encryption/decryption (remember, encrypted memory is now supported!) ● Specific performance numbers not available at this time from Red Hat… but we do have IBMs.

Slide 22

Slide 22

RHEL 5.3: Technical Review Long Numbers Generation (Red Hat BugZilla 439440, IBM BugZilla 43340)

Slide 23

Slide 23

RHEL 5.3: Technical Review Long Numbers Generation (Red Hat BugZilla 439440, IBM BugZilla 43340) ● The number of handshakes is up to 4x higher with HW support. ● In the 32 connections case we save about 50% of the CPU resources Graphs taken from Mustafa Mešanović’s T3 Boeblingen presentation, 1-JULY 2008, “Linux on System z Performance Update”

Slide 24

Slide 24

RHEL 5.3: Technical Review Enablement of ECKD DASD Sense Data (Red Hat BugZilla 439441, IBM BugZilla 43339) Sense Key Name Description 0h No Sense Indicates there is no specific Sense Key information to be reported for the disc drive. This would be the case for a successful command or when the ILI bit is one. 1h Recovered Error Indicates the last command completed successfully with some recovery action performed by the disc drive. When multiple recovered errors occur, the last error that occurred is reported by the additional sense bytes. Note: For some Mode settings, the last command may have terminated before completing. 2h Not Ready Indicates the logical unit addressed cannot be accessed. Operator intervention may be required to correct this condition. 3h Medium Error Indicates the command terminated with a non-recovered error condition, probably caused by a flaw in the medium or an error in the recorded data. 4h Hardware Error Indicates the disc drive detected a nonrecoverable hardware failure while performing the command or during a self test. 5h Illegal Request Indicates an illegal parameter in the command descriptor block or in the additional parameters supplied as data for some commands (Format Unit, Mode Select, and so forth). If the disc drive detects an invalid parameter in the Command Descriptor Block, it shall terminate the command without altering the medium. If the disc drive detects an invalid parameter in the additional parameters supplied as data, the disc drive may have already altered the medium. This sense key may also indicate that an invalid IDENTIFY message was received. This could also indicate an attempt to write past the last logical block. 6h Unit Attention Indicates the disc drive may have been reset. 7h Data Protect Indicates that a command that reads or writes the medium was attempted on a block that is protected from this operation. The read or write operation is not performed. 9h Firmware Error Vendor specific sense key. h Aborted Command Indicates the disc drive aborted the command. The initiator may be able to recover by trying the command again. Ch Equal Indicates a SEARCH DATA command has satisfied an equal comparison. Dh Volume Overflow Indicates a buffered peripheral device has reached the end of medium partition and data remains in the buffer that has not been written to the medium. Eh Miscompare Indicates that the source data did not match the data read from the medium.

Slide 25

Slide 25

RHEL 5.3: Technical Review CPU Node Affinity (Red Hat BugZilla 447379, IBM BugZilla 44875) ● Newer hardware (System z10 EC) supports an interface which can be used to get information about the CPU topology of an LPAR. – This can be used to optimize the Linux scheduler which bases its decisions on which process gets scheduled to which CPU on the CPU topology. – This feature should increase cache hits and therefore overall performance as well. English Version: You dedicate 2 z10 IFLs to a RHEL5 VM. We can then pin applications to specific cores, or to IFLs in their entirety.

Slide 26

Slide 26

RHEL 5.3: Technical Review Integration of icainfo into libICA (Red Hat BugZilla 439484, IBM BugZilla 43383 ) icainfo is a part of the SHA & AES enhancements. It shows the customer which CPACF instructions are available in their system. ● libica allows customer applications to speed up cryptographic operations by using the CP Assist for Cryptographic Function (CPACF) facility. ● A new tool called ‘icainfo’ allows the customer to display a list of all CPACF operations supported by libica. ● This is helpful to verify that CPACF is correctly enabled on a particular system. ●

Slide 27

Slide 27

RHEL 5.3: Technical Review OSA 2 Ports per CHPID Installer Support (Red Hat BugZilla 439461, IBM BugZilla 43371 ) ● Anaconda now supports both ports on CHPID for OSA Express3 cards. – The installer will prompt for the port number in the initial stage of the installation. – The value provided for the port also affects installed network interface startup script. When port 1 is selected, the value “portno=1” is added to OPTIONS parameter of ifcfg-eth* file. Note: When installing under z/VM, you can add either PORTNO=0 (to use port 0) or PORTNO=1 (to use port 1) to the CMS configuration file to avoid being prompted for the mode.

Slide 28

Slide 28

Planned Features RHEL 5.4, RHEL6 & Beyond

Slide 29

Slide 29

RHEL 5.4: Works In Progress ● ● This list includes items currently under development, and is not a commitment to include features. – Is there something you must have? Let us know! It only took two customer request to back-port NPIV into RHEL 4.8. Your feedback matters! – If you have a BugZilla account (it’s free!), you can use this link to view latest information – Don’t have an account? Sign up at http://bugzilla.redhat.com/ Expected ETA: Mid-Late 2009

Slide 30

Slide 30

RHEL 5.4: Works In Progress

Slide 31

Slide 31

RHEL 5.4: Works In Progress

Slide 32

Slide 32

RHEL 5.4: Works In Progress

Slide 33

Slide 33

RHEL 6.0: Works In Progress

Slide 34

Slide 34

RHEL 6.0: Works In Progress

Slide 35

Slide 35

RHEL 6.0: Works In Progress

Slide 36

Slide 36

RHEL 6.0: Works In Progress

Slide 37

Slide 37

Open Discussion / Q&A