Presentation is loading. Please wait.

Presentation is loading. Please wait.

Linux/390 A tale of two Ports (C) Neale Ferguson - CAI, published under the terms of GPL.

Similar presentations

Presentation on theme: "Linux/390 A tale of two Ports (C) Neale Ferguson - CAI, published under the terms of GPL."— Presentation transcript:

1 Linux/390 A tale of two Ports (C) Neale Ferguson - CAI, published under the terms of GPL.

2 Agenda Introduction to S/390 VM & Open Source i370-ibm-linux s390-ibm-linux I/O layer & Virtualization Applications MVL - Virtual Penguin Power

3 Linux/390 Background

4 Introduction to S/390 Descendent of S/360 Upwardly compatible architecture EBCDIC character set Big endian 16 GPR, 4/16 FPR, 16 CR 2 tier paging schema Multiple address spaces

5 Introduction to S/390 Huge range of processors supported: –Cards that fit in a lap top –Desktop and tower models –16-way SMP configurations Emulators for your PC –Hercules –Flex-ES

6 Introduction to S/390 Initially, batch oriented O/S –PCP, TOS, DOS & OS/360 –OS/MFT OS/MVT –OS/VS1, OS/VS2 –MVS, DOS/VS –OS/390, VSE/ESA

7 Introduction to S/390 Time-share & Hypervisors –CP-40, CP-67, VM/370, VM/SP, VM/ESA –Virtualize a real machine Padded cell for multiple users “Guest” operating systems Even run VM under VM

8 Previous UNIX Attempts True ASCII with major APIs –AIX/370 (defunct) –AIX/ESA (defunct) –UTS (alive and kicking) –OSIRIS $$$$

9 VM & Open Source VM/370 totally source maintained with significant user input VM/SP owned by IBM but source available VM/ESA most source but OCO and OCM pieces IBM now have “rediscovered” Open Source

10 Linux/390 Two Ports in a Storm

11 i370-ibm-linux Started by Linas Vepstas Developed port of GCC & GLIBC based on work of David Pitts Basic kernel I joined in mid 1999 Developed architecture –Memory management –Process –I/O fundamentals

12 i370-ibm-linux Developed under VM and Hercules Trace facilities of VM indispensable The LINUX-VM listserver was set up to allow the world to contribute We were aware of rumors and some facts about an internal IBM project porting Linux to S/390 as well

13 s390-ibm-linux Skunk-work project within IBM Kernel running by May 1999 Activity kept secret Constant rumours Published mods on December 18 Now actively working with community Rolling mods into 2.3.x

14 s390-ibm-linux ASCII IEEE floating point Runs: –Bare iron –In an LPAR –In a virtual machine

15 Linux/390 I/O Layer

16 S/390 I/O is “channelized” Work performed by channels Device eccentricities hidden from O/S Single mechanism of talking to devices DMA Interrupt-based

17 I/O Layer New layer of abstraction IRQ structure used New major devices: –/dev/ddxn - S/390 DASD (ECKD) –/dev/mndx - VM minidisks –/dev/ctcx - CTCA & LAN –/dev/iucv - Network (LAN) device –Dumb tty and hardware console

18 Linux/390 Address Spaces

19 Intel Address Spaces

20 S/390 Address Spaces

21 Kernel runs in Primary Space mode User programs run in Home Space mode Copy to/from user just a MVC(L/E) in Access Register mode with AR set for kernel/user address spaces Compare this to some of the other elaborate schemes used

22 Linux/390 Applications

23 Kernel, tools and file systems were available from Marist College “Porting” of packages commenced Porting generally consists of an update to config.sub/guess to recognize s390-ibm-linux

24 Applications THE 3.0 Regina 0.08h OpenSSL linuxconf 1.17r2 wxxt-1.67 Postgresql-6.5.3 Apache 1.3.9 Samba 2.0.6 sendmail 8.9.3 bind 8.2.2-p5 sshd 1.2.27 hercules 1.46 BOCHS Big Brother 1.3a Lynx 2.8.2 Emacs 20.5a

25 Applications ncFTP 3.0b21 PGP 5.0i cron 3.0.1 PHP 3.0.14 ytalk 3.1.1 perl 5.005_3 ltxml 1.1 GIMP mySQL (in progress) X11 vnc-3.3.3r2

26 Linux/390 in Action




30 [root@penguinvm cpint]# more /proc/cpuinfo vendor_id : IBM/S390 # processors : 3 bogomips per cpu: 52.42 processor 0: version = FF, identification = 045226, machine = 9672 processor 1: version = FF, identification = 145226, machine = 9672 processor 2: version = FF, identification = 245226, machine = 9672 [root@penguinvm cpint]# more /proc/interrupts CPU0 CPU1 CPU2 0: 2964 2883 3421 none ctc0 1: 5840 2941 1920 none ctc0 3: 2 0 0 none mnd 4: 2 0 0 none mnd 5: 2 0 0 none mnd 9: 50 34 28 none 3215 terminal driver NMI: 0 IPI: 0

31 Linux/390 in Action [root@penguinvm cpint]# more /proc/devices Character devices: 1 mem 2 pty 3 ttyp 4 ttyS 5 console 10 misc 254 cpint Block devices: 1 ramdisk 7 loop 64 mnd 80 dasd

32 Linux/390 in Action [root@penguinvm cpint]# hcp q all | more STORAGE = 0128M XSTORE = none CPU 00 ID FF04522696720000 (BASE) CPU 01 ID FF14522696720000 CPU 02 ID FF24522696720000 DASD 0101 3380 VMM600 R/O 20 CYL ON DASD 0742 SUBCHANNEL = 000D DASD 0190 3380 VMM785 R/O 178 CYL ON DASD 0702 SUBCHANNEL = 000E DASD 0191 3380 LINRES R/W 110 CYL ON DASD 06FE SUBCHANNEL = 0003 DASD 0193 3380 LINRES R/W 1131 CYL ON DASD 06FE SUBCHANNEL = 0004 DASD 0194 3380 LINRES R/W 597 CYL ON DASD 06FE SUBCHANNEL = 0005 DASD 019D 3380 230RES R/O 108 CYL ON DASD 07E6 SUBCHANNEL = 000F DASD 019E 3380 VMM628 R/O 100 CYL ON DASD 074F SUBCHANNEL = 0010 DASD 0320 3380 VMM612 R/O 75 CYL ON DASD 06C9 SUBCHANNEL = 0002 DASD 0991 3380 LINRES R/W 365 CYL ON DASD 06FE SUBCHANNEL = 0006 DASD 0992 3380 LINRES R/W 276 CYL ON DASD 06FE SUBCHANNEL = 0007 DASD 0993 3380 LINRES R/W 175 CYL ON DASD 06FE SUBCHANNEL = 0008 CTCA 0C10 COUPLED TO TCPIP31 0C10 SUBCHANNEL = 0000 CTCA 0C11 COUPLED TO TCPIP31 0C11 SUBCHANNEL = 0001

33 Linux/390 Virtual Penguin Power

34 Multiple Virtual Linux Instead of a box per server connected by metres of wire A virtual machine per server connected by storage sharing data at 500MB/s DASD may be shared DASD may be located 43Km away “Virtual Penguin Power”

35 VPP VM is another device Linux can talk to Huge data cache Resource sharing and capping Need a new server? Just spend 5 minutes and add a new virtual machine Error recovery and reporting

36 VPP in Action Tests conducted by David Boyes G5 processor with 2 real CPUs 2750 Linux/390 virtual machines –1000 with 4 vCPUs –500 with 2 vCPUs –250 with 8 vCPUs Booted concurrently Running Apache serving same page VM didn’t bat an eyelid

37 Some Final Words “Nice(?!) to know, you can even boot Win95 under Linux for S/390 using the BOCHS x86-Emulator.” “Fine, you sick perverts. You leave me no choice. When I can get the disk space and Copious Free Time for it, I'll build Hercules on Linux under Bochs under L/390. Or maybe I'll just port Basilisk II so you can have your Mac apps too.”

38 Further Information

39 Trademarks Linux is a trademark of Linus Torvalds S/390, VM/ESA, OS/390, VSE/ESA, AIX are trademarks of IBM UTS is a trademark of Amdahl OSIRIS is a trademark of HDS Flex-ES is a trademark of Fundamental Software Inc.

Download ppt "Linux/390 A tale of two Ports (C) Neale Ferguson - CAI, published under the terms of GPL."

Similar presentations

Ads by Google