-
Notifications
You must be signed in to change notification settings - Fork 5k
GCStress: ensure every object moves on a GC #10187
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
Comments
can you please tell me which tests you used to do your measurements? I just want to establish a baseline before we put in fixes for this. |
I can't remember what I was doing at the time. I was probably looking at the CLR logging (or maybe GC logging?) for a GCStress 4 or 8 or 0xC run of some relatively long-running test with allocations, and noticing that the output indicated objects didn't move. |
ok... what do you recommend that we use to see the effect of the fixes? just run jit tests with GCStress 4/8/C? |
If you want to verify that objects move, you'll obviously need a test that uses some kind of internal logging with before/after addresses for every object. Or maybe a COMPlus variable that asserts when they are the same after a GC. In terms of correctness, we run lots of GCStress 0xC jobs in the CI that can be triggered. |
I was not asking how to verify whether an object moves during a GC. I was asking for a set of tests your team normally runs so I can say "without these fixes x% objects moved for your scenarios whereas with them y% objects moved and y >> x, success!". |
Due to lack of recent activity, this issue has been marked as a candidate for backlog cleanup. It will be closed if no further activity occurs within 14 more days. Any new comment (by anyone, not necessarily the author) will undo this process. This process is part of our issue cleanup automation. |
@davidwrighton We were chatting about this issue recently. |
At least, every object that is legal to move should move.
One problem with GCStress today is that when a GC occurs, most of the time (in some measurement I've done) objects don't actually move. This means that bad GC info doesn't get noticed.
The text was updated successfully, but these errors were encountered: