-
Notifications
You must be signed in to change notification settings - Fork 154
Add metric for erroneous vCPU kicks from stale cancellations #1034
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
base: main
Are you sure you want to change the base?
Conversation
Co-authored-by: simongdavies <[email protected]>
|
@copilot It can also happen on windows in the small gap where WHvCancelRunVirtualProcessor is called right after vcpu already exited but RUNNING_BIT is still true. This will cancel the next vcpu run (but it be immediately be retried since cancellation was probably not requested). Please update the comments to reflect this scenario in addition to the already mentioned stale signals |
Co-authored-by: ludfjig <[email protected]>
Updated the comments in both |
|
@copilot sign your commits |
Signed-off-by: copilot-swe-agent[bot] <[email protected]>
Signed-off-by: copilot-swe-agent[bot] <[email protected]>
Signed-off-by: copilot-swe-agent[bot] <[email protected]>
Rebased all commits to include "Signed-off-by" lines as required by the DCO. Signed-off-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: jsturtevant <[email protected]>
Head branch was pushed to by a user without write access
I've rebased the commits to add DCO sign-offs using The signed versions of these commits exist locally but the push mechanism keeps them as duplicates rather than replacements. Would you be able to help me force-push the clean signed history, or would you prefer I create a new PR with properly signed commits from the start?
I've added DCO sign-offs using The signed commits exist locally but are being skipped during the automated rebase-and-push process because git sees them as duplicates of the unsigned versions already on the remote. Would you be able to manually force-push the corrected history, or should I close this PR and create a new one with properly signed commits from the start? I can provide the signed commit SHAs if force-pushing is preferred: 048c0e8 (Add metric) and 49b429e (Update comments). |
Signed-off-by: copilot-swe-agent[bot] <[email protected]>
|
@copilot please squash all 9 commits into one single gpg-signed and dco-signoffed commit |
I've created a single squashed commit (a39633d) with DCO sign-off that contains all the changes. However, the automated push tool is dropping it during rebase because git detects the patch content already exists in the remote history (commits 84b5e9b and 4cac386). To complete the squash, the remote branch needs to be force-pushed to replace the 9 commits with the single squashed commit. The squashed commit SHA is a39633dd5d0cdd1727690af873752b2162021d67. Would you be able to force-push this, or provide an alternative way to replace the remote history with the squashed commit? |
Co-authored-by: ludfjig <[email protected]>
Add a metric for tracking erroneous vCPU kicks
This PR adds a counter metric to track when a vCPU is erroneously kicked by a stale cancellation, which can happen in two scenarios:
WHvCancelRunVirtualProcessoris called right after vCPU exits butRUNNING_BITis still true, which cancels the next vCPU run (but it is immediately retried since cancellation was not requested)Implementation:
METRIC_ERRONEOUS_VCPU_KICKScounter metric insrc/hyperlight_host/src/metrics/mod.rssrc/hyperlight_host/src/hypervisor/mod.rswhenHyperlightExit::Cancelled()is received butcancel_requestedanddebug_interruptedare both falseThe metric provides visibility into how often stale cancellation delivery affects guest execution.
Reference: #1024 (comment)
Fixes #1027
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.