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

Reply via email to