[Info-vax] LLVM, volatile and async VMS I/O and system calls
Stephen Hoffman
seaohveh at hoffmanlabs.invalid
Sun Oct 3 13:10:52 EDT 2021
On 2021-10-03 12:35:45 +0000, chris said:
> On 10/03/21 01:32, Stephen Hoffman wrote:
>> Previous ports have shown weird bugs, those latent in the existing
>> codebase that was ported, those bugs introduced by the platform tools,
>> and those exposed by (for instance) updated processors of the same
>> architecture. q.v. SRM_CHECK.
>
> Perhaps rewritten was the wrong word, so ported ?. Even so, would
> suspect a lot of the low leve stuff (which this thread is about) must
> have been rewritten as part of the porting effort.
Ah, moving the goalposts.
The lowest reaches—a small but gnarly part of any operating system
platform—is different, yes. Hardware config and boot and errors, memory
management, interlocking, code generation, etc. Alas, bugs are not
constrained to those lowest reaches.
BTW, EV6 broke latent (and architecturally incorrect) code-generation
assumptions within the GEM compiler code generator. Assumptions that
had worked fine on OpenVMS and on Alpha processors prior to EV6. This
code-generation error is what SRM_CHECK detected. This old EV6
code-generation bug is entirely reminiscent of what Simon is concerned
about with x86-64 code generation, too.
>> Hyrum's Law: With a sufficient number of users of an API, it does not
>> matter what you promise in the contract: all observable behaviors of
>> your system will be depended on by somebody."
>>
>> And some of us would be interested in some Arm waving too, but for now
>> it's all x86-64 waving.
>
> Very much so, but needs an available standard platform in volume to
> make it worthwhile for sw vendors to get behind it...
Hyrum applies to most any complex system, software or hardware. It's
part of what can make changing OpenVMS or any other upward-compatible
platform so entertaining. A cluster-related change to the queue manager
job ID allocation algorithm blew up a number of apps, for instance.
Lots of other examples.
> Really hard to break the X86 stranglehold...
As with past market shifts, shifts usually arise from below. Not from
above. Shifts can progress slowly for a decade or two. Then can
progress much more quickly.
As for x86-64, the ~fourth largest computer vendor by revenue (2020)
has invested heavily in and is migrating all of its laptops and
desktops off of x86-64 processors. Whether and how many customers might
accept that?
Are we in a shift? Donno. Maybe. Intel would certainly prefer not.
Microsoft too would probably prefer not too, their previous boutique
platform port investments, and their more recent Windows 11 ARM64 and
ARM64EC and related efforts, aside.
But as for OpenVMS, yes, getting native compilers working and reliable
and with decently-performing app code being generated is the
prerequisite. OpenVMS usually ends up needing some architectural tweaks
or extensions or other workarounds too, and some of those have been
mentioned by VSI.
On the plus side for the upcoming and entirely hypothetical OpenVMS Arm
port, LLVM already generates code compliant with Armv8-A and Armv9-A
designs.
Trivia: VSI has previously discussed an Arm port, though not in some
years. VSI seemingly have several more years before the current x86-64
port work, and VSI and third-party and end-user apps, are all
sufficiently available and are entering volume production on x86-64
servers. We should have a better idea of what is happening with x86-64
and Arm by then, too.
--
Pure Personal Opinion | HoffmanLabs LLC
More information about the Info-vax
mailing list