From another thread:
> Many of these techniques have been documented in the IBM Journal of Research
> and Development.
> Unfortunately, a few years ago IBM decided to hide that behind a paywall.
This has always seemed to me like a colossal marketing failure. There is just
no better showcase for
See: http://www.ibm.com/developerworks/rfe/execute?use_case=viewRfe&CR_ID=129007
AFAIK, z/OS only supports XSI semaphores, not Posix semaphores. It's possible
to emulate Posix semaphores, but with restrictions and messiness.
-- Jerry
Timothy Sipples writes:
> Does this article help?
> https://www.ibm.com/developerworks/library/l-semaphore/index.html
Nope. That's pretty much what I'm doing as a workaround. I want the real thing.
-- Jerry
--
For IBM-MAIN sub
Stackoverflow offers a nice little comparison between XSI and Posix smaphores
here:
https://stackoverflow.com/questions/11058045/differences-between-semaphore-h-and-sys-sem-h
Stevens & Rago, in "Advanced Programming in the Unix Environment", section 15.8:
http://www.apuebook.com/toc3e.html
pro
Timothy Sipples wrote:
> Would it also make sense to ask for automatic release/cleanup of stale
> semaphores?
Someone could certainly ask for a z/OS-specific variation on the XSI API.
That doesn't eliminate the need for a standards-conforming implementation of
Posix semaphores.
-- Jerry
-
> The other option is to see if the ISPF environment has the ISPF SMP/E panels
> available.
If you are coming from a Unix background, are comfortable with the USS command
line and scripting, and have the xlc compiler available (a lot of "ifs"...),
you might want to try this:
https://github.com
I recently discovered that the maximum path length for dynamic
allocation key 8017 (Unix PATH name) is 255 characters, in spite of
the fact that the text unit length field is 16 bits. While most "human
generated" path lengths will not be that long, software generated paths
can easily exceed that. A
On Tue, 7 May 2019 14:24:26 -0500, Paul Gilmartin wrote:
> At least support, for consistency:
>
> https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.3.0/com.ibm.zos.v2r3.bpxa400/pathname.htm
>
> ... A path name can be up to 1023 characters long, including
> all directory names, file n
Is it Friday yet?
The z13 (I think) added this puppy:
=
LOAD AND ZERO RIGHTMOST BYTE
The second operand, with the rightmost byte set to zero, is placed at the
first-operand location. For LZRF, the first and second operands are 32 bits,
and for LZRG, the first and secon
(A day late and a dollar short...)
My nifty little USS SMP query tool can get you the necessary bits of
information from the CSI,
but there is Some Assembly Required to pull it together into a nice report
(which I will not do
here, but if I had to, would use some combination of sed and awk).
(Another "too late" reply. That'll teach me to go on vacation.)
This script illustrates how to do it, but I'm not sure it would work early in
the IPL sequence (since it needs to run TSO commands):
#!/bin/sh
if /bin/tsocmd "listd '$1'" >/dev/null 2>/dev/null ; then
echo "$1 exists"
else
echo
> So I cannot use the "tso" Unix command...
Doh.
Never mind.
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
According to the "Summary of changes for z/OS UNIX System Services Planning for
Version 2 Release 4 (V2R4)" (see
https://www.ibm.com/support/knowledgecenter/SSLTBW_2.4.0/com.ibm.zos.v2r4.bpxb200/bpxb2soc24.htm),
copy on write for fork() has been removed from z/OS. It will be interesting to
benc
> The Percent29 at the end breaks the URL. Is your e-mail software doing that
> automatically?
I created the post directly from the listserv's web interface - no email
software involved. I *did* have a closing paren at the end of the URL, since I
was in the middle of a parenthesized phrase; it
Kirk Wolf wrote:
> Unfortunately, bash is pretty complicated software, and updating it to do
> this is not at all easy because of the difference in semantics between
> fork()/exec() and spawn().
Amen, brethren! :-)
Interestingly, it looks like there is exactly ONE call to fork() in the bash
sou
David Crayford says...
> ...It would be fantastic to have bash as the default shell for z/OS but that
> ain't gonna happen anytime soon :)
FWIW: Here's how I tend to work on z/OS.
* I leave my default login shell (in the OMVS segment) as /bin/sh.
* I have my .profile/.bash_profile/.bashrc files
I came across this in "The Archives" (aka "the huge pile of crap in my home
office") and
it brought back very fond memories of John.
https://photos.app.goo.gl/Ksqfw4MzFSgfG5g97
-- Jerry
--
For IBM-MAIN subscribe / signoff / ar
> Anyway read the link and give the compiler a try!
I have, and it works - very well! If you haven't tried this compiler, you
should. There are some limitations, but if you like the 64-bit LE programming
model, this compiler is a win.
-- Jerry
--
See: https://github.com/CBTTape/290
It contains an implementation of subsystem datasets.
The documentation you WANT is the Washington Systems Center Technical Bulletin
GG66-3131-00, which, unfortunately, seems to have become Pure Unobtainium.
-- Jerry
-
I've written a little Unix command that uses the SMP/E query API to dig
information out of the CSI. The output is not especially human-friendly; it's
intended for processing by scripts. You can get it from github:
https://github.com/zorts/smpapi
-
I knew John from my involvement with SHARE assembler committee, and through
work with IBM's Federal Systems Division in the 1980s. He was a true gentleman,
always kind, very smart, and an absolute pleasure to work with. I was delighted
to have been able to chat with him (for the first time in ye
You don't have to build from source; you can get a downloadable SDK:
https://www.ibm.com/us-en/marketplace/sdk-nodejs-compiler-zos
There is a DeveloperWorks forum for node.js on IBM platforms (including z/OS
and Linux on Z):
https://www.ibm.com/developerworks/community/groups/service/html/comm
I'm going to be an EXTREME outlier here.
Background: I learned computing on OS/360 thru MVS, first using cards, then
TSO/ISPF. I jumped ship to Unix in the mid 80s and now I'm back on the
mainframe, doing ports of open source software to z/OS (under USS) at Rocket
Software.
I am logged into bo
>> Normally, the process of resolving all REQ/PREREQ/IFREQ requirements for
>> given PTF(s) and collecting all missing items that prevent resolution, up to
>> the point where APPLY CHECK suggests that actual APPLY could be successful
>> could require several iterations.
> I have used GROUPEXTEND
> If you want a break with 3270, why a Rube Goldberg with line mode. Make the
> application an X11 client instead.
>
> We'd all be better of if SUN's paradigm of the thin client (X11 server) had
> caught on.
Um, well, maybe.
You CAN run X11 clients on z/OS. But my personal experience is that
There are detailed instructions on using the z/OS port of git with GitHub here:
https://forum.rocketsoftware.com/t/using-git-for-z-os-with-github/654
-- Jerry
--
For IBM-MAIN subscribe / signoff / archive access instructions,
s
> Now that you have established you disapprove of the first and second
> amendments,
> which others do you have problems with? Why would you allow a high school
> kids with
> a Nazi salute and Nazi style armbands make policy?
Well, that's about the shortest proof of Godwin's Law that I've ever
Works for me, using exactly the code posted, so it looks like something
peculiar to your maintenance level. I'd open a PMR.
make -k CHARSET=ebcdic
xlC -Wc,phaseid -qebcdic -q64 -qnocse -qgonum -qbitfield=signed
-qtarget=zosv2r2 -qarch=10 -qstrict \
-qfloat=ieee:nomaf -qlanglvl=extended0x -O2 -
On Mon, 9 Apr 2018 10:28:34 -0400, Charles Mills wrote:
>To clarify, by "works" you mean does NOT ABEND?
Oops, yes, I meant "does not ABEND".
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to list
On Sun, 22 Apr 2018 18:29:38 -0400, Hobart Spitz wrote:
>That's said, I can answer the question, for C/C++, as follows. (I pose the
>question for Java, below.)
>
>*With the *nix/C record and string models, there are these issues:*
>
> 1. Errant/unexpected/unintended pieces of binary data in a
On Fri, 4 May 2018 13:00:55 +, Rob Scott wrote:
Dave
As someone who is a complete dinosaur and used to source control
systems like SCLM, it took a bit of getting used to for me.
I found that once I abandoned PDS datasets and used z/OS unix
file systems on
On Fri, 11 May 2018 10:46:20 -0400, Hobart Spitz wrote:
>Second to that are the deficient string and file models:
>
> - There are separate techniques for processing text, on one hand, and
> binary data on the other. (z/OS, z/VM have no such requirement.)
> - Using the wrong technique can b
I'm writing a Physical File System (PFS) for USS, and I've come across an
oddity in the interface documentation. The "Environment for PFS Operations"
section of z/OS UNIX System Services File System Interface Reference says that,
on entry to VFS function routines, R13 is "Save area address, of a
(A day late & a dollar short; I just noticed this.)
Dave (AKA "dammital" or "DBA") and I go WAY back; I met him as a freshman at
Florida Technological University in 1972. He took me under his wing and
mentored me, introducing me to APL (on an IBM 1130), formal language
specification, compiler t
Regarding line numbering: git has the ability to run complementary "clean" and
"smudge" filters to be used when moving source between the repo and the working
directory; these might prove useful. See
https://git-scm.com/book/en/v2/Customizing-Git-Git-Attributes for more
information.
That said
So, I'm curious: What are people actually USING member generations for?
For source code, it seems like a decent source control system is a better bet.
Are member generations primarily a form of "oops recovery?"
-- Jerry
--
For
Aw, man, this really, really stinks.
I have embedded Knowledge Center URLs in about a gazillion wiki pages that are
widely used by other coworkers. I always try to link to "the latest" version
(currently, of course, 2.3), but I'm sure I have a lot of 2.2 links, and quite
possibly some old 2.1 l
On Thu, 14 Jun 2018 11:27:47 -0500, Mike Schwab wrote:
>Even if you have a z/OS 2.1 manual, some PTFs do add features or
>command or document changes to older versions, and they only update
>the newest manual. Sometimes it is best to get the newer manual then
>check the document changes so you a
NOTE: I'm not a Zowe developer, but I sit near some of them at Rocket
and have some understanding of its structure via osmosis. :-) This
should not be considered "authoritative."
There are several pieces to Zowe:
* A web client (code that runs in the browser: HTML, CSS and
JavaScript). This is,
So I can't help but wonder: what's the big picture here? WHY is it necessary to
parse JSON from assembler? There is presumably a good reason that assembler is
in the driver's seat here, instead of, say, C, C++, or Python (all viable
languages on z/OS).
Yes, it's certainly possible to write rec
On Fri, 24 Aug 2018 07:20:24 -0500, Tom Marchant wrote:
>> via the Zowe command line you can stay in the laptop context
>> and Zowe will fetch a data set behind the scene, allow it to
>> be edited by your favorite editor and save back to z/OS
>> transparently.
> Will it do so while providing inte
The whole idea of holding a lock on a file while a human being slowly edits it
is so 1960s.
Since at least the mid 1970s, editors like emacs have loaded the file for
editing and noted the timestamp. When the user attempts to save the file. the
timestamp is checked again, and if it changed, t
On Aug 29, 2018, at 8:20 PM, Andrew Rowley wrote:
>
> On 30/08/2018 12:16 AM, Jerry Callen wrote:
>> The whole idea of holding a lock on a file while a human being slowly edits
>> it is so 1960s.
>>
>> Since at least the mid 1970s, editors like emacs have loade
> Question for y’all. I would like to do a diff on the modified file and
> present the user with the changes.
> They could REPLACE the file with the editor contents, MERGE them which would
> be something they
> would do after a review of the diff, ABANDON them or save them somewhere
> else. D
Andrew Rowley wrote:
On 31/08/2018 3:05 AM, Jerry Callen wrote:
> Everyone has to follow the convention, and on z/OS they LARGELY do.
(Emphasis added)
I rest my case. :-)
> Source control is not a better solution, it is a solution
> to a slightly
On Sun, Sep 2, 2018, 9:56 AM Bruce Armstrong wrote:
> If you know what ISPF is and are happy with it you may not be the
> target market for Zowe. Zowe is primarily targeted for the "next gen"
> sysprog who does not have 30+ years of learning the the nuances of
> z/OS and ISPF.
Or - maybe you
> Based on advice on another thread I am now calling errno2() on certain
> socket errors. I get back an integer that I dutifully display in hex:
>
> XXX0123I errno2 = x'12345678'. Look up using BPXMTEXT.
>
> That message kind of offends me. When I get a basic library error I use
> strerror() to c
OK, a few clues.
bpxmtext is, as others have pointed out, a rexx exec. In at least some cases it
turns around and calls another rexx exec, edcmtext. That, in turn winds up
looking at this module: CEE.SCEERUN(EDCEJR). That, finally, contains message
text. The rexx is (to me, a non-rexx programm
I'd like to be able to list the names of the files present in a "logical dump"
dataset produced by ADRDSSU. AFAIK, there isn't a command to ADRDSSU to do that
(seems like an odd omission...).
The format of the dump dataset is thoroughly described:
https://www.ibm.com/support/knowledgecenter/SS
storage!), but the load/store
performance hasn't turned out to be what I had hoped for. I may well be using
the facility "the wrong way"; having detailed implementation information would
sure help.
-- Jerry Callen
Rocket Software
--
BTW - I applaud IBM's provision of the non-privileged ECAG instruction for
obtaining cache characteristics. Here's the output of a little program I wrote
to format the information it provides (on a Z13):
level 0: private
data: line size=256, set associativity=8, total size=128K
instruction:
Back from Christmas break to a lot of responses - thanks to all. Summarizing
the responses thus far:
* Select and/or tune your algorithm first.
Check.
* Tuning for a specific machine is a bad idea because you'll have to retune for
every new machine.
Check. This code is sufficiently critical t
Charles Mills wrote:
> I would assume there is some sort of a compiler/hardware architecture
> liaison group within IBM. I would bet that if someone from that group were
> to put together a SHARE presentation called "Write Machine Code Like a
> Compiler -- How to Write the Fastest Code Possible fo
Jack J. Woehr wrote:
> Not sure how relevant that this is to mainframe programming, but years ago
> when I designed and executed with a team of nine a data-heavy server in
> Unix optimized for multiple cores, what we found was that reroutable queuing
> of data from one simplistic processing engine
This is probably overkill, but a DYNALLOC "info" call can also do it, and can
easily provide other useful information about the dataset at the same time (if
you need to know more than just whether or not the DD is present).
-- Jerry
--
Before I sit down and write a test program to time it, can anyone tell me how
expensive the AMODE switching instructions are (SAM31/SAM64)? I have an
AMODE-64 function that needs to execute a short segment of AMODE-31 code in a
loop (I know this sounds wacky, but there is actually a reason why I
There is a short segment of 31-bit code that is generated on the fly by another
piece of software that I need to call. I don't control that piece of software,
and I'm putting the results of that computation into an above-the-bar chunk of
memory for later processing. No I/O.
Since it sounds as
Well, DUH! I'll look at the code and see if that's feasible.
-- Jerry
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
In a thread in a distant galaxy, J.O.Skip Robinson wrote:
> ...be aware that some customers (like us) did away with VIO a long time ago.
I've been away from MVS for a while. Did something better than VIO come along
while I wasn't looking? Why would VIO have been vaporized?
-- Jerry
---
In the "Whither VIO" thread, J.O.Skip Robinson wrote:
> In a previous life, we defined VIO (I believe) to device 3314 even though we
> had none left on the floor
That's a device type I've never heard of, and the Google knows not of. Could
this be a typo for "2314"?
-- Jerry
-
The 64-bit address space available to memory objects opens up a whole range of
algorithms that use lots of VIRTUAL memory, but relatively modest amounts of
REAL memory. The data is "clumped" into a relatively small number of pages;
it's not like sprinkling a few bytes all over the object, which
(A very delayed follow-up on a thread from yesteryear...)
tl;dr: In unauthorized code, ECBs are much faster than pause elements.
I wrote a simple test program to compare the performance of WAIT/POST and pause
elements. The program has two tasks and simply ping-pongs back and forth
between them
Greg Dyck wrote:
> No one every said that Pause/Release was faster or consumed the same
> amount of CPU as WAIT/POST, or that they should be used as a universal
> replacement for WAIT/POST. They should be used where they provide value.
The reason I wrote the test is that the documentation is u
> And, in the absence of contention, WAIT/POST in professionally-developed
> software becomes orders of magnitude faster since everyone knows to skip the
> WAIT if the post bit is on and to attempt a "quick" POST of the ECB (using
> CS) if the wait bit is off.
And my timing code did just that
Peter Relson wrote:
>>I agree the reference materials _imply_ that WAIT/POST are deprecated
>>and that Pause/Release/Transfer should be used when possible.
>If you have a concrete reference, please provide it. WAIT/POST is in no
>way deprecated.
I wouldn't call it "deprecated", but this does s
...and here we go. The results differ somewhat from the previously posted
results; I just ran these, and the machine is somewhat quieter than before.
Clearly the "fast POST" trick is worthwhile - though it didn't make as much
difference as I expected.
Relative performance: total CPU
ECB
Edward Jaffe wrote:
> And, in the absence of contention, WAIT/POST in professionally-developed
> software becomes orders of magnitude faster since everyone knows to skip
> the WAIT if the post bit is on and to attempt a "quick" POST of the ECB
> (using CS) if the wait bit is off.
I understand
Edward Jaffe wrote:
> Stated as simply as I can: If the POST bit is already on, why call the
> WAIT service in the first place? All it's gonna do is immediately return.
Yes, that's clear. What always gets my knickers twisted is when you can RESET
the ECB and be sure you don't lose an event.
I
In the interest of full disclosure, the code is now available on github:
https://github.com/zorts/pause_release
As noted way back in my original posting, the code is unauthorized, uses only
TCBs, and ping-pongs between two tasks. I'm running this code on a moderately
loaded z13, native z/OS 2.2
Z/OS 2.2 also provides SMC-D, which I am eager to get a chance to play with.
All the convenience and familiarity of sockets, but with most of the TCP/IP
overhead stripped out (since the underlying transport layer is reliable). It
should have significantly better performance and less CPU consumpt
On Wed, 6 Jul 2016 09:48:37 -0500, Parwez Hamid
wrote:
>The other point to note about OSes when comparing SMC-D with HiperSockets,
>SMC-D is only supported by z/OS whereas HiperSockets is supported by all OSes
>that run on z Systems.
Right. :-(
I am eagerly awaiting Linux on Z support of S
[Prompted by mentions of git on another thread]
Rocket is in the process of porting git to z/OS (on USS, of course). As others
have noted, it's challenging, given the ASCII/EBCDIC issues. Nonetheless, we
hope to have a public beta available by the end of the year; it will be
announced on Rocket
On Wed, 10 Aug 2016 10:26:55 -0500, Paul Gilmartin wrote
(regarding porting git to z/OS):
>What would be the obstacles to building it in Enhanced ASCII mode?
For a tool like git that has to straddle character encoding worlds, enhanced
ASCII support (EAS) brings only limited value. We're likely
In another thread, l...@garlic.com wrote:
... but then if MVS had FBA support wouldn't have needed to do 3380 as CKD
(even tho inherently it was FBA underneath) ...
I didn't know that.
Was that the first (and/or last?) IBM SLED to be inherently FBA under the hood?
Where were the smarts for t
IBM Explorer for z/OS can edit pretty much any sequential file, either native
z/OS or USS, but in the generic Eclipse editor. Eclipse is endlessly
customizable, so there may well be language-sensitive editing modes floating
around for it.
I've made (feeble) efforts to get emacs to do it, withou
l
blocks and using non-authorized services, why not? It'll make the code more
accessible by others, in many cases it's just as efficient, and - it's fun!
-- Jerry Callen
Rocket Software
--
For IBM-MAIN subscri
> I have a PL/I subroutine call that has 297 optional parameters. That is the
> function has a parameter list with up to 100 tuples of parameters. The first
> tuple is required, and tuple 2 through 100 are optional.
OK, I've been watching this thread with growing curiosity and I can't stand it
77 matches
Mail list logo