On 28 October 2015 at 10:07, R.S. <[email protected]> wrote: > What are the terms and conditions for zIIP usage in the user agreement? As > far as I remeber, there is nothing about my coding.
There are two documents under discussion here, and maybe they are being confused: 1) There is the "authorization for workloads" which, I believe IBM now incorporates into the LIC licence. It is effectively impossible to have a working IBM zArch machine without having agreed to it. This is a public document that explains somewhat generally what workloads may be run on each processor ype: CP, IFL, zIIP, zAAP, and "all others", presumably meaning CFs and such. I believe all IBM customers are subject to the rules in this document, and therefore that is what controls your use of a zIIP. This is the document available in several languages at http://www-947.ibm.com/systems/support/machine_warranties/machine_code/aut.html . 2) There is a licence agreement under which IBM makes interfaces available to ISVs to enable them to run certain code on zIIP/zAAP. This ISV licence is referred to in the public page that I posted earlier, so clearly its existence is no secret. However I think IBM may view the content of this license itself as confidential, as well as the actual interfaces and their doc, so I'm not going to quote from it. If someone from IBM would like to do so to clarify things, that would be dandy. I personally have avoided looking at the detailed doc on the interfaces, since I have no need for it in the programs I write and support. So all I know about how it works is what it says on the public page at http://dtsc.dfw.ibm.com/MVSDS/'HTTPD2.PT217.HTML(INDEX)' (watch that trailing quote). Clearly what is supplied is an interface to dispatch certain enclave SRB-mode work on a zIIP. If you (i.e. your company) have not signed this agreement, then obviously it does not apply to you or your code. What is evident in reading both these documents is that they are not exact, that is they do not cover all possible situations of what code runs where and how it gets that way. I imagine IBM has made these docs somewhat vague intentionally so that when some unanticipated scenario comes along they have the ability to interpret the rules as they wish to at that time. It is also obvious from past mentions on this list and elsewhere, that IBM has unpublished interfaces to dispatch task-mode code on zIIP/zAAP. I have no idea how these might work, but I believe Neon Systems got into trouble by discovering and exploiting some such interface, so I'm not going there. It's also known that various non-IBM code that does not use the ISV magic interface can nonetheless find itself running on a zIIP or zAAP in some cases, and I think this is the case you are speaking of. I would guess that WLM and the dispatcher take a common sense approach, and avoid a CPU switch with all the overhead implied if just a little bit of "ineligible" work might briefly end up on a zIIP. Of course if your code takes no action to try to get itself on the zIIP, and there is no documented public interface to get off it, then it's hard to see how you can be at fault. Well naturally I am not a lawyer, and certainly not an IBM lawyer, so you should value my meandering thoughts on this based on what you paid for them. Tony H. ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
