-
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
[mono] Set thread suspend default in mono.proj; default to hybrid #46873
[mono] Set thread suspend default in mono.proj; default to hybrid #46873
Conversation
This is, in part, motivated by #44806 - MBR needs hybrid (or full coop) suspend in order to be able to inspect interpreter frames. So we will need hybrid suspend on the mobile platforms. Previously hybrid suspend was already well tested on Linux and OSX amd64. And apparently in dotnet/runtime we already used it on Android, too. If it is not feasible to identify and fix all hybrid suspend issues, we could set the default back to preemptive on affected platforms. (For MBR we would then launch hot reload sessions with hybrid suspend set via environment variables). This also sets "hybrid" as the suspend mechanism on wasm, although in single threaded operation it doesn't make a difference. |
Instead of detecting in cmake, make a decision in mono.proj
4e688e6
to
e9d80f8
Compare
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.
Hope you're ready to start putting out fires when the CI failures roll in 😄
wasm failure looks related. android and windows x64 also possibly related. |
It isn't really preemptive, it just turns off safepoint code in the AOT compiler. This is fine for single threaded.
59f94c7
to
48f8e55
Compare
Defaulting wasm to "preemptive". Otherwise it was asserting when trying to insert safepoints in AOT code. Wasm isn't really preemptive but we don't need safepoints in single-threaded. (and this is fine for hot reload, too, because the LMF has all the managed interpreted frames that we care about - we know the thread is calling the hot reload icall) |
okay, let's do this, I guess. Looking forward to all the new crash reports over the weekend. |
Could you create a tracking issue for that if there is not one already? |
Ok, opened #47080 |
Instead of detecting in cmake, make a decision in mono.proj