Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simplify ottawa.csv #532

Open
llxia opened this issue Apr 16, 2024 · 1 comment
Open

Simplify ottawa.csv #532

llxia opened this issue Apr 16, 2024 · 1 comment

Comments

@llxia
Copy link
Contributor

llxia commented Apr 16, 2024

The mode is a short name for a list of jvm options. We inherited the old logic from vmfarm.

TKG/resources/modes.xml - defines the list of jvm options for each mode
TKG/resources/ottawa.csv - defines what mode can or cannot run on which platforms. The complexity escalates when it needs to support 64_nocmprssptrs, cmprssptrs, and mixed JVM using one file. And support both internal (old Axxon) and external cases.

Due to the large number of columns and rows, it's difficult to discern what has been altered in the ottawa.csv file. And we had cases in which we had to revert change after merging. (see #511). Also, it is hard to add new platforms.

Below are the platforms that we have so far:

win_x86-32	win_x86-64_ncr	win_x86-64_cr	win_x86-64	linux_x86-32	linux_x86-64_ncr	linux_x86-64_cr	linux_x86-64	linux_ppc-32	linux_ppc-64_ncr	linux_ppc-64_cr	linux_ppc-64	linux_ppcle-64_ncr	linux_ppcle-64_cr	linux_ppc-64	linux_390-31	linux_390-64_ncr	linux_390-64_cr	linux_390-64_cr_zt	linux_390-64	linux_390-64_zt	aix_ppc-32	aix_ppc-64_ncr	aix_ppc-64_cr	aix_ppc-64	zos_390-31	zos_390-31_zt	zos_390-64_ncr	zos_390-64_cr	zos_390-64_cr_zt	zos_390-64	zos_390-64_zt	linux_arm	osx_x86-64_ncr	osx_x86-64_cr	osx_x86-64	osx_aarch64_ncr	bsd_x86-64	sunos_sparcv9-64	sunos_x86-64	linux_aarch64_ncr	linux_aarch64_cr	linux_aarch64	linux_riscv64_ncr	linux_riscv64_cr	linux_riscv64	alpine-linux_x86-64	alpine-linux_aarch64	default-64	default-none64

I think we need to simplify ottawa.csv. To start, we could

  • remove the platforms that do not use special modes (i.e., bsd_x86-64, sunos_sparcv9-64, sunos_x86-64-64). The default-64 and default-none64 should cover the regular cases.
  • remove the modes that we do not use in the pipeline

I am open to ideas of replacing ottawa.csv with a better solution.

@smlambert
Copy link
Contributor

💯 agree, and recalling that we had long ago discussions of moving away from modes completely, since the variations within the playlist can be directly a set of VM options.

What modes really provides is a check on whether certain options are valid on certain platforms. Perhaps there is a different way to relate this information to test targets.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants