Block concurrent rules for newer instructions
| Newsgroups | gmane.comp.emulators.hercules390.general |
|---|---|
| Message-ID | <CAKqWTMv8jP4HvTA_-==pqdhU7mgvm9NoHjya7ptGXEuj63bV-A@mail.gmail.com> |
It's been more than a decade since there was hot discussion here on proper implementation of block concurrent storage references in Hercules. Since then two new kinds of instructions relevant to this issue have come along: some that have quadword block-concurrency (e.g. LPQ, CDSG), and some that deal atomically with disjoint operands (LPD[G]). LPD[G] is interesting and I think unique in that it indicates via the CC whether the operation took place with an interlocked fetch or not, so a valid implementation can simply always set the CC to show that it didn't. I suppose a performance gain can be had by doing this only in a multi-host-CPU environment. Anyway, what is the status of these newer instructions in Hercules? Tony H.