-
Notifications
You must be signed in to change notification settings - Fork 554
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
Add timestamp marker increase monotonically invariant check. #6037
Add timestamp marker increase monotonically invariant check. #6037
Conversation
Thank you for the PR. I will merge it. |
Well we hit a violation causing test failure in x86-64 tool.drcacheoff.phys-SUDO:
Unfortunately it's not printing ref #14 for us there (not sure who does that printing) -- but looking at process_entry_for_physaddr() it seems to deliberately clone a timestamp, so we have 2 in a row with the same value. Looks like disallowing identical timestamps was a mistake :( |
Also seeing Windows test failures: |
Let me update the code to allow timestamps to stay the same. |
My original request was misguided it seems: sorry about that. Maybe can just revert the 2nd commit. |
Wow the 32-bit Windows filter-simple test failed with:
So did tool.drcachesim.invariants:
So it's not sthg weird with filtering: the invariants test runs the |
@abhinav92003 reminded me that 32-bit truncates the timestamp counters (!!): which is #5634. So for the short term until that is fixed (32-bit is not a high priority though...) I think we have to restrict this check to 64-bit. |
I would like to clarify if "drmemtrace 32-bit truncates timestamps" means it's taking the least significant 32 bits? If it's taking the least significant 32 bits, the timestamp check can be modified to add a rollover check. For example, |
Least significant:
|
I filed #6187 to track it using a different pull request. |
Please review the change to add an invariant check to verify timestamp markers are increasing monotonically.
Reference:
From #2039 (comment) and #5704 (comment)