Table of Contents

Some notes on running Linux under z/VM

There's nothing much to say besides what the tutorial[1] tells us. Nevertheless, there are quite a few notes I took just not to let me completely forget about them, later.

CPU's

I won't lie to you: it's insufferably slow. And for a good reason: you are virtualising twice, and the first level (Hercules) has zero paravirt. as s390x is a completely different architecture. But, maybe – I said maybe – you can suffer less, giving the VM more CPU's. So, here's how it's done:

When creating the profile, you probably specified 4 max CPU's (MACHINE ESA 4). But that's it, when the machine is actually IPL'd, it goes up with only one.

So, you take vmcp, a neat little application which let you issue CP/CMS commands from inside Linux and do as follows [2]:

vmcp define cpu 02 type cp

There are other types of CPU other than CP[3], like:

CP
    indicates the central processor.
IFL
    indicates the IBM® Integrated Facility for Linux.
ZAAP
    indicates the IBM zEnterprise® Application Assist Processor.
ZIIP
    indicates the IBM z Integrated Information Processor.
ICF
    indicates the Internal Coupling Facility. 

But CP is the general kind. And I don't think we should bother much about IFL or others when running z/VM inside an emulated mainframe.

Well, now your VM got a new CPU. It's offline, though:

vmcp q v cpus
CPU 01  ID  FF0288F728288000 CP   CPUAFF ON
CPU 02  ID  FF0288F728288000 STOPPED CP   CPUAFF ON
[...]

Tell the guest to rescan for CPU's, by issuing chcpu -r. If it don't come online (i.e. still ofline in lscpu -ae), do this: chcpu -e 02. And it'll probably come online.

References