JEP 294: Linux/s390x PortJEP 294: Linux/s390x PortOwnerVolker SimonisTypeFeatureScopeImplementationStatusClosed / DeliveredRelease9Componenthotspot / compilerDiscussions390x dash port dash dev at openjdk dot java dot netEffortMDurationMReviewed byAlan BatemanEndorsed byVladimir KozlovCreated2016/09/26 17:48Updated2019/08/13 10:36Issue8166730Summary
Port JDK 9 to Linux/s390x.
Motivation
s390x (also known under the names "System z" or "z/Architecture")
is a mainframe architecture developed and supported by IBM. Several
Linux distributions including Ubuntu, RHEL/Fedora and
SuSE run on s390x.
Current cloud deployments with packages like TomEE, Cassandra, Spark,
Hadoop and Neo4j, to name just a few, rely heavily on Java. Because
most of these packages are open source they run best on OpenJDK, which
is currently not available for Linux/s390x.
The reason for this JEP is to resolve this deficiency.
Description
SAP has a complete (i.e., template interpreter, C1, and C2 JIT) and
certified (Java SE 1.4-8) s390x port which has been used in production for
years. In the s390x Port Project we have already
contributed this port, which runs on IBM System z models z10 or newer
(64-bit only).
The focus of this JEP is not the porting effort itself, which has been
mostly completed, but rather the integration of the port into the
JDK 9 master repository.
Currently we have a patch queue with less than 10 changesets and
with very few shared changes which shouldn't affect current platforms
at all. Besides two minimal build changes in the top-level and jdk
repositories, all the other changes are in the hotspot repository only.
We have already started opening JBS issues for the shared changes and
some of them are already under review.
Alternatives
Currently, the Zero port can be used to run the JDK on
Linux/s390x but it is quite slow (because it only uses the old,
deprecated C++ interpreter) and is not very well tested. It is no
real alternative for running workloads like application servers or
database applications written in Java.
IBM's Developer Kit for Linux is also available for Linux/s390x
but it is currently not open source and Java applications usually
require some configuration/tuning in order to run with it. Also, it can
not be used for testing new features of upcoming Java versions because
it is only released after the JDK itself is GA.
Testing
This port has been used in production for years within our
commercial SAP JVM offering. We are already building and testing
the OpenJDK version of the port daily (by running jtreg and JCK tests, SPEC
benchmarks, and several SAP applications), and are committed to do so in
the future. Of course we will also maintain the port in the future and
update it conforming to all upcoming requirements.
Risks and Assumptions
Unlike our previous PowerPC/AIX Port, this port requires only
minimal changes to the existing code base, because:

s390x is a CISC architecture with a strong memory model
no OS-relevant changes are required because we only target Linux

We don't foresee any impact on the existing platforms at all.
InstallingContributingSponsoringDevelopers' GuideVulnerabilitiesJDK GA/EA BuildsMailing listsWiki
                      · IRCBylaws · CensusLegalWorkshopJEP ProcessSource codeMercurialGitHubToolsGitjtreg harnessGroups(overview)AdoptionBuildClient LibrariesCompatibility & Specification ReviewCompilerConformanceCore LibrariesGoverning BoardHotSpotIDE Tooling & SupportInternationalizationJMXMembersNetworkingPortersQualitySecurityServiceabilityVulnerabilityWebProjects(overview,
      archive)AmberBabylonCRaCCaciocavalloClosuresCode ToolsCoinCommon VM InterfaceCompiler GrammarDetroitDevelopers' GuideDevice I/ODukeGalahadGraalIcedTeaJDK 7JDK 8JDK 8 UpdatesJDK 9JDK
      (…,
       21,
       22,
       23)JDK UpdatesJavaDoc.NextJigsawKonaKullaLambdaLanaiLeydenLilliputLocale EnhancementLoomMemory Model UpdateMetropolisMission ControlMulti-Language VMNashornNew I/OOpenJFXPanamaPenrosePort: AArch32Port: AArch64Port: BSDPort: HaikuPort: Mac OS XPort: MIPSPort: MobilePort: PowerPC/AIXPort: RISC-VPort: s390xPortolaSCTPShenandoahSkaraSumatraTiered AttributionTsanType AnnotationsValhallaVeronaVisualVMWakefieldZeroZGC

        © 2024 Oracle Corporation and/or its affiliates
        Terms of Use
        ·
        
            License: GPLv2
        · Privacy
        · Trademarks
