-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
[6.0] Re-create MultiCoreJIT profile data on profile-use-only mode #71754
[6.0] Re-create MultiCoreJIT profile data on profile-use-only mode #71754
Conversation
Activate multicorejit recorder to re-create the profile data when the multicorejit player cannot be executed due to BADIMAGEFORMAT error on profile-use-only mode
b821862
to
0d2befb
Compare
@kouvel, PTAL. Do we need to backport this fix? |
@kouvel, today is the due date for 6.0 servicing fix tactics approval and merge for August release. If ready in time, please send an email to get tactics approval. |
@wscho77, are there apps running on .NET 6 that would benefit from backporting this change? Would it be feasible to work around the issue by recreating the profile by changing the config var once? |
We are preparing to products with NET 6, so we need to apply related patches. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approved. We should take for consideration in 6.0.x
@wscho77 just making sure that this fix is required to be ported in 6 for your scenario? |
Sorry for late response. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tactics approved.
Correct milestone applied.
No CI failures.
Additional area owner sign-off provided.
No OOB package authoring changes needed (native code).
Ready to merge.
Backport of #71420.
This is a patch to solve the problem that profile data cannot be recreated when profile data is broken on profile-use-only mode.
Please consider backporting this to release/6.0
Customer Impact
Some apps use
DOTNET_MultiCoreJitNoProfileGather=1
, which only uses the recorded profile data and does not record, to improve flash storage life. The profile data helps to improve startup time. This fix enables an app for which profile data was gathered once, to continue working with profile data across profile data version changes while using the above config switch. When the existing profile data is incompatible, it records profile data once to maintain the startup improvements, and does not record again thereafter to improve storage life. So, the change makes it easier to deploy apps using the above config switch without having to manually recreate profile data by altering the config switch any time the profile version changes.Regression?
No
Testing
Verified that the change behaves as described above
Risk
Low - The behavior without the config switch is identical to before, and the behavior when the existing profile data is valid is also identical to before.