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/