Paul Edwards wrote:
>I would like the z/Linux kernel to be modified
>to start an ELF32 binary in AM64 and have access
>to a full 4 GiB address space.

Leaving aside technical viability for a moment, I have a basic application
change management concern. Shouldn't the program binary make its own
decisions about changing its execution environment in such fashion? I can
imagine, without much imagination, many possible program breakages if the
kernel changed the execution environment that way.

At a minimum, any such kernel behavioral change would necessarily have to
be selective, with some sort of whitelisting mechanism. However, if you
agree that each program binary should properly make such decisions for
itself, with much better knowledge of its own capabilities for healthy
living within that new memory environment of up to 4 GiB, then the very
same application developer(s) could make an ELF64 (-m64) decision for the
whole program. Or, alternatively, and if I understand Martin Schwidefsky
correctly, the program developer could make a more selective, sub-program
sam64 in/out decision if she needs memory above the 2 GiB bar.

The hobbyist community shared my concern in another but broadly similar
context when it modified the MVS 3.8j operating system, designed for 24-bit
addressing (16 MiB), to add 31-bit addressing (2 GiB) in what they dubbed
"MVS/380." However, as far I know they didn't attempt to force that new
addressing mode onto any 24-bit programs. Instead, they provided the
above-line memory services and then allowed particular programs to exploit
those additional services if/as they wished, but only if they wished. The
fundamental reason they added those 31-bit services, besides fun and
enjoyment, is that MVS 3.8j simply didn't support anything but 24-bit
addressing. However, that's not a problem with Linux (or with z/OS). The
operating system already supports 64-bit addressing really well, and
developers are already free to exploit those capabilities, with knowledge
of their own code and its quirks and foibles.

The administrator managing Linux can enforce memory resource limits, so if
there's a desire to limit ELF64 (or sam64'ed) application memory
consumption to 4 GiB, no problem. The program might not like that either,
of course, but the OS can enforce such limits.

It seems like your idea would be a neat, creative trick if viable, but how
would help?

--------------------------------------------------------------------------------------------------------
Timothy Sipples
IT Architect Executive, Industry Solutions, IBM Z & LinuxONE,
Multi-Geography
E-Mail: sipp...@sg.ibm.com

----------------------------------------------------------------------
For LINUX-390 subscribe / signoff / archive access instructions,
send email to lists...@vm.marist.edu with the message: INFO LINUX-390 or visit
http://www.marist.edu/htbin/wlvindex?LINUX-390
----------------------------------------------------------------------
For more information on Linux on System z, visit
http://wiki.linuxvm.org/

Reply via email to