I haven't read the doc, but VM65419 offers a new STHYI instruction to help with 
this problem.
http://www-01.ibm.com/support/docview.wss?uid=isg1VM65419

Turns out IBMs ILMT which is required in order to use sub capacity licensing 
can't figure it out either and you have to actually tell it how many of the 
processors are IFLs in a config file.
Kind of makes the whole counting a bit bogus when you do things like capacity 
on demand, guest relocation, etc and forget to reconfigure the ILMT agent.
This is supposed to be solved with this APAR and some future ILMT change.



-----Original Message-----
From: Linux on 390 Port [mailto:LINUX-390@VM.MARIST.EDU] On Behalf Of John 
McKown
Sent: Friday, July 11, 2014 9:17 AM
To: LINUX-390@VM.MARIST.EDU
Subject: Re: [LINUX-390] Running on CP or IFL ?

On Fri, Jul 11, 2014 at 10:54 AM, Mike Hammock <m...@hammocktree.us> wrote:
> Thanks John, I was trying to remember the instruction for that  (STSI).
> However, a little research indicates that the STSI only provided information
> on the number of CPs and nothing about the type of other processors.   In a
> zVM - Linux environment you might be able to assume that any non-CP 
> processor is an IFL, but sure as anything, someone would have a 
> reasonable exception to that.
>
> Thanks,
> Mike

If STSI doesn't return information on non-CP engines, I have _NO_ idea where 
z/OS (and z/VM) are getting them. Unfortunately, I'm just not on a system, nor 
have access to any other system, which has multiple engine types. To get the 
information, it appears you need to set the function code to 15, the selector1 
value to 1, and the selector2 value in [2..6].

  L R0,=AL1(15,0,0,1)
  LA R1,2
  STSI SYSIB
...
SYSIB DS 0D,1024X

Just looking around on z/OS, I have found some "hints" as to possible values. 
In SYS1.MODGEN(IHAIVT), I found "Encountered a processor type of 2 (zAAP) or 5 
(zIIP) within the recognized processor info". Which hints that a value of 2 in 
the TLE is for a zAAP (IFA in old terms) and a value of 5 for a zAAP. But that 
conflicts with some comments in
SYS1.MACLIB(HISYSMFR) which has:
<quote>
The processor type for which the hardware event counters are recorded.
Will be one of the following: 0 = Standard CP 2 = zAAP 4 = zIIP </quote> The 
above agrees with SYS1.MACLIB(IHAPSA) <quote>
PSAProcClass_Byte1 DS  X                                           @H4A
*                             This field is for IBM use only.
*                             OWNERSHIP: SUPERVISOR CONTROL
*                             SERIALIZATION: READ = NONE
*                                            WRITE = NO WRITE ALLOWED
*                             See PSAProcClass_xxx
*                             constants.                           @H4A
PSAProcClass_CP   EQU X'0000' Standard CP. 0 is offset to SWUQ     @H4A
PSAProcClass_zAAP EQU X'0002' zAAP.                                @H4A
PSAProcClass_zIIP EQU X'0004' zIIP.                                @H5A
PSAProcClass_SUP EQU X'0004'  zIIP.                                @H4A
</quote>

Which has a, to me, _strong_ implication that an IFL would be x'0001'
since an IFL was the _first_ specialty engine available on a z. Can't hurt to 
write a Q&D assembler program on your system, run it, and dump the contents of 
the SYSIB to a file to peruse using a hex viewer.
Might be interesting.

--
There is nothing more pleasant than traveling and meeting new people!
Genghis Khan

Maranatha! <><
John McKown

----------------------------------------------------------------------
For LINUX-390 subscribe / signoff / archive access instructions, send email to 
lists...@vm.marist.edu with the message: INFO LINUX-390 or visit
http://www.marist.edu/htbin/wlvindex?LINUX-390
----------------------------------------------------------------------
For more information on Linux on System z, visit http://wiki.linuxvm.org/

Reply via email to