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

Lower optimization level workaround for omrzfs.c #7639

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Deigue
Copy link
Contributor

@Deigue Deigue commented Feb 3, 2025

Lowering the optimization level is the workaround considered for compiling omrzfs.c with Open XL support, until a permanent solution or fix is made. Compiling with -O3 currently causes a crash using Open XL.

Lowering the optimization level is the workaround considered
for compiling omrzfs.c with Open XL support, until a permanent
solution or fix is made. Compiling with -O3 currently causes a
crash using Open XL.

Signed-off-by: Gaurav Chaudhari <[email protected]>
@Deigue Deigue requested a review from babsingh as a code owner February 3, 2025 19:51
@babsingh
Copy link
Contributor

babsingh commented Feb 7, 2025

Using -O0 will result in significant performance regression. There should be separate documentation on the -O3 crash, tracked in a dedicated issue. This PR should be linked to that issue so it can be reverted once the -O3 crash is resolved. Additionally, have you explored modifying the source code in omrzfs.c to address the -O3 crash?

@babsingh
Copy link
Contributor

babsingh commented Feb 7, 2025

@joransiu What are your thoughts on this PR?

@Deigue
Copy link
Contributor Author

Deigue commented Feb 7, 2025

I have attempted to but unable to address it. Admittedly, I guess I can wrap the lowering of the optimization level restricted only to when using the Open XL compiler with (#define(__open_xl__)) so as to only really do this when absolutely necessary. That way I guess we won't be impacting all the ZOS instances.

@joransiu
Copy link
Contributor

joransiu commented Feb 7, 2025

To mitigate the performance impact, we can try to add __attribute__((optnone)) to the problematic function that Open XL has issues with: https://www.ibm.com/docs/en/open-xl-c-cpp-zos/2.1?topic=pragmas-pragma-option-override

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

Successfully merging this pull request may close these issues.

3 participants