Keyboard Shortcuts
Likes
- H390-Vm
- Messages
Search
Re: memset help
On Wed, Apr 15, 2020 at 01:00 PM, Harold Grovesteen wrote:
I remind everyone working with GCC on VM/370 that it is a port of theExactly - however we don't really care about the backend optimisations (after all we use Hercules which has completely different timing characteristics), but we do the front end / C ones; for example dead code removal, unwinding loops, register assignments, avoiding recalculating constants, inlining etc.? |
Re: memset help
On Thu, Apr 16, 2020 at 03:22 PM, Harold Grovesteen wrote:
?I have a concernI believe that it it did "self host" at least once. And why would we not try again? Pragmatically however there?is no particular problem with cross compiling it (and I am guessing this might be faster!).? And compiling it against GCCLIB would be a benefit for us CMS users. At the moment Paul is "GCC" for CMS?and MVS ...? The big problems are - Having the optimiser work in low memory environments. Basically the whole program needs to be in memory for the optimisers to optimise - Forward port the mainframe character encoding - Forward port the S/370 backend - Both these refect that fact that we are using a very old version of GCC - And what about the C++ front ends ... But I think that we should aim to keep the MVS and CMS GCC code base together ... there aren't enough users to support 2 versions! |
Re: memset help
羲堁极郤Joe, I wonder if we could split the pre-processor into a separate phase. Pretty sure GCC used to build like that on my Atari ST with 4Mb of memory Dave ? From: [email protected] <[email protected]> On Behalf Of Joe Monk
Sent: 16 April 2020 17:45 To: [email protected] Subject: Re: [h390-vm] memset help ? "There have been a lot of angst about 31-bit addressing in MVS 3.8J. ? It was driven by Paul's desire for a single load module, which MVS3.8J could not handle. Had Paul adopted relevant techniques of the time, such as dynamic calls instead a static call to a library, and using work files within the compiler, this would not have been an issue. ? Joe ? On Thu, Apr 16, 2020 at 10:22 AM Harold Grovesteen <h.grovsteen@...> wrote:
|
Re: memset help
"There have been a lot of angst about 31-bit addressing in MVS 3.8J. ?This was implemented in a forked version of Hercules.? It was driven by the fact that GCC could not compile itself in a 24-bit world of an MVS address space. Thank you Paul." It was driven by Paul's desire for a single load module, which MVS3.8J could not handle. Had Paul adopted relevant techniques of the time, such as dynamic calls instead a static call to a library, and using work files within the compiler, this would not have been an issue. Joe On Thu, Apr 16, 2020 at 10:22 AM Harold Grovesteen <h.grovsteen@...> wrote: On Thu, 2020-04-16 at 07:46 -0700, adriansutherland67 wrote: |
Re: memset help
On Thu, 2020-04-16 at 07:46 -0700, adriansutherland67 wrote:
On Thu, Apr 16, 2020 at 02:38 PM, Harold Grovesteen wrote:Source availability was never the issue. ?The ability for GCC to actually build itself on the various target platforms have been the issue. There have been a lot of angst about 31-bit addressing in MVS 3.8J. ?This was implemented in a forked version of Hercules. ?It was driven by the fact that GCC could not compile itself in a 24-bit world of an MVS address space. Thank you Paul. My question was about constraints within CMS that might preclude self compilation by GCC. ?The actual answer appears to be that we do not know. Could GCC be compiled outside of CMS? ?Absolutely. ?I believe this is how we managed to actually port it. ?But that was not my earlier question. Perhaps, Adrian, you will answer these questions. ?I have a concern that the efforts here will actually cause GCC to fork. ?That there will end up being a GCC for VM and one for MVS and DOS. ?While GCC itself is relatively static, it does incur some change. How is GCC supported? ?Is there a team or just some adhoc approach? Harold Grovesteen |
Re: memset help
羲堁极郤Folks, ? Not sure if its what I actually said, but in essence, there should be no problems re-building GCC, its just I havn*t done it for some time. There are issues withy disk usage on the GCCCMS ID. Paul complained one disk had ※crap§ when I think it was part of the GCCCMS library. I removed and I ?think this may be why we have issues with the 1.3 Betas# ? Dave ? From: [email protected] <[email protected]> On Behalf Of adriansutherland67
Sent: 16 April 2020 15:46 To: [email protected] Subject: Re: [h390-vm] memset help ? On Thu, Apr 16, 2020 at 02:38 PM, Harold Grovesteen wrote:
I think not ... the source is all published.? |
Re: memset help
On Wed, 2020-04-15 at 18:15 -0500, Joe Monk wrote:
Question:This is all very interesting, but has no relevance to Hercules. ?Hercules has no concept of millicode or cache lines. All instructions are implemented in the "hardware" of Hercules, namely, its C program, and all memory is directly accessed. Now, a discussion about how Hercules is designed and its impact on the underlying real hardware is an entirely different matter. ?We know that the instruction execution can itself be significantly improved. ?A proprietary emulator that executes on the same type of hardware as does Hercules is reported to be significantly faster than Hercules. ?Most of us lack access to such an emulator. ? However, this proprietary emulator does not, as far as I know, execute S/370 architecture. ?So is irrelevant in a topic of VM/370. ?Hercules is the only relevant emulator here and you all saw my general recommendation for Hercules performance. Harold Grovesteen |
Re: memset help
On Wed, 2020-04-15 at 20:51 +0100, Dave Wade wrote:
So are all of the operating systems dependent upon Paul for a rebuildOriginally it could on VM/370, but not on SP or later because you of GCC?? In this context I am assuming he is delivering object modules to the other platforms with linking occurring on the target platform. Harold |
Re: REXX Interpreter immediate commands
Pardon if I answer this twice. I had a crash, right when I hit?send a few minutes ago. I was only describing the HI immediate command implementation in the original REXX. Almost all the multiuser, multitasking, and asynchronous event processing is handled in the VM Control Program.? This design allows CMS to be treated as a single user system. There? is one application running. It may synchronously?call other programs. It can use simple? Input/Output operations which are treated as synchronous. Some events, however, are inherently asynchronous. Timer expirations, communications with other virtual machines, special?asynchronous input/output, etc. CMS interruption?handling is documented in the? VM/370 System Programmer's Guide. In general, CMS applications sign up to be notified of asynchronous events by providing the address of an event handler routine. These handlers can mark events complete by? setting indicators which are polled by mainline code. The mainline routine can also relinquish control by? a WAIT state, so that event handlers POST the completion of events and the mainline code resumes execution.? The APIs for asynchronous operation are only available to assembler level routines in VM/370.? Later VM systems (more recent than 40 years ago) extended these capabilities to enable client/server application development in CMS. Although VM application vendors (for products like The SAS System, and? the VM:Manager Suite of products) built their own multitasking layers for their products, CMS did not? support true Application Multitasking until about 30 years ago.? Even 45 years ago,?receiving interrupts, and registering event handlers were fundamental?components of? CMS. Bob Bolch On Wed, Apr 15, 2020 at 5:24 PM adriansutherland67 <adrian@...> wrote: Bob ... Noted |
Re: memset help
Drew Derbyshire wrote:
On 4/14/20 11:32 PM, Peter Coghlan wrote:My feeling is that something like this would be likely to have remained inI wonder could this have been the COBOL compiler abusing MVCL instructionsI was told back in the 1980s that for performance reasons MUSIC moved place forever more. I had a look through the "current" MUSIC nucleus object deck for 256 byte MVC instructions (X'D2FF'). I found this section of code in the URMON module: BR R14 LTR R4,R4 BZ 2224(R0,R12) MVC 3112(4,R0),16(R0) MVC 4056(4,R0),540(R0) MVC 4060(4,R0),548(R0) MVC 1456(256,R4),3072(R0) MVC 1712(256,R4),3328(R0) MVC 1968(256,R4),3584(R0) MVC 2224(256,R4),3840(R0) MVC 472(1,R4),3524(R12) BR R14 MVC 3072(256,R0),1456(R13) MVC 3328(256,R0),1712(R13) MVC 3584(256,R0),1968(R13) MVC 3840(256,R0),2224(R13) MVC 16(4,R0),3112(R0) MVC 540(4,R0),4056(R0) MVC 548(4,R0),4060(R0) Without doing a bit of work to figure out exactly what is going on, it is not clear to me whether these code sections get called four times in a loop or not but it could be the case. Of course, it's harder to locate MVCL instructions (X'0E') in an object deck but there seem to be a few in there, including this one in URMON: ST R11,144(R0,R13) XC 440(32,R13),440(R13) LA R0,1456(R0,R13) LA R1,1024(R0,R0) SLR R3,R3 MVCL R0,R2 MVI 472(R13),32 L R5,3444(R0,R12) ST R13,620(R0,R0) LR R8,R12 L R12,3644(R0,R12) BALR R14,R12 However, this could have been added later the lifetime of MUSIC. Regards, Peter Coghlan. -- |
Re: OT, mail issues, was Re: [h390-vm] memset help
I've never seen a commercial spam filter that was worth a damn,
toggle quoted message
Show quoted text
honestly. But that goes for most commercial software. The big issue with spam is the combination of sleazy people and clueless people. Over the past fifteen years or so, spam has started to look more and more like real email, and real email has started to look more and more like spam. As someone who has managed large mail installations in the past, I can say that keeping ahead of it is essentially impossible, and in a large installation requires quite literally daily tweaks. On my mail server here with about ~110 users, the tweaks are about every 3-4 days. It's a pain in the ass. Oh, and the issues I'm having with gmail aren't for messages sent from groups.io's mail servers, but from mail.neurotica.com. -Dave On 4/15/20 5:59 PM, Dave Wade wrote:
I don't think I have never seen anything from you marked as "Junk". Some providers don't like groups.io so it might not be you. --
Dave McGuire, AK4HZ New Kensington, PA |
Re: memset help
羲堁极郤Joe: Mark ? From: [email protected] <[email protected]> On Behalf Of Joe Monk
Sent: Wednesday, April 15, 2020 2:47 PM To: [email protected] Subject: Re: [h390-vm] memset help ? Mark, ? No doubt ... but MVCL/E are still millicode instructions. MVC is a hardware instruction. ? Joe ? On Wed, Apr 15, 2020 at 4:28 PM Mark L. Gaubatz via <mgaubatz=[email protected]> wrote:
|
Re: memset help
Question: ∫?Answer: ∫?There are several ways to move or clear a large block of storage provided in the z/Architecture
∫?As discussed on page 31 titled ※MOVE LONG instructions§,?每?MVCLisimplementedthroughmillicoderoutines ??Incurs some overhead in startup, boundary/exception checking, and ending
??Then moving/padding ※locally§ will be better by using MVCs or XCs?每?Isthesourceinlocalcache? ??Then moving/padding ※locally§ may be better by using MVCs, or XCs?每?Howmuchdataisbeingprocessed? ??The more data you are required to process, the more you may benefit from using MVCL due to special hardware engines used by millicode 每?Experimentationis,therefore,highlyadvised On Wed, Apr 15, 2020 at 6:00 PM Tony Harminc <tharminc@...> wrote: On Wed, 15 Apr 2020 at 17:47, Joe Monk <joemonk64@...> wrote: |
Re: memset help
On Wed, 15 Apr 2020 at 17:47, Joe Monk <joemonk64@...> wrote:
No doubt ... but MVCL/E are still millicode instructions. MVC is a hardware instruction.Little is that simple these days... MOVE characters (MVC) MOVE LONG? A special engine is built per CP chip for aligned copying or padding functions at a page granularity 每 The page-aligned copying or padding is done ※near memory§, instead of through caches, if ? Not executed inside a transaction ? Padding character specified is neither X*B1* nor X*B8* ? A preceding NIAI instruction does not indicate that the storage data will be used subsequently ? The operands must not have an access exception ? Length >= 4K bytes ? For moves: source and destination addresses are both 4K-byte aligned ? For padding: destination address is 4K-byte aligned 每 Otherwise, the move process will operate through the caches (L1, L2#) 每 Note that the evaluation is revised every unit-of-op 每 For padding, even if starting address is not aligned, millicode pads in cache to the first 4K-byte boundary, then uses ※near memory§ pad engine for the next aligned 4K-byte pages until the remaining length is less than 4K bytes. After that, padding is done in cache again ? Near-Memory engine usage is best when the amount of data involved is large and the target memory is not to be immediately consumed in subsequent processes 每 Since the special engine is shared within a CP chip, contention among processors is possible 每 Such contention is handled transparently by millicode and additional delay may be observed Tony H. |
Re: OT, mail issues, was Re: [h390-vm] memset help
Mine? Yes, no and no. I'm pretty sure I haven't suffered from any instances of spam runs sent out with my domain name forged as the source address although I am not sure I can believe that the spammers are smart enough to have checked for the existance of SPF and decided that this would make it not a worthwhile thing to do. I really only have it so that if this did happen, the recipients would have an opportunity to identify what they are receiving as forged and unauthorised. Regards, Peter Coghlan. |