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.
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.