Skip to content
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

v2.1: deplete compute meter for vm errors (backport of #3751 and #3994) #4297

Merged
merged 7 commits into from
Jan 8, 2025

Conversation

jstarry
Copy link

@jstarry jstarry commented Jan 6, 2025

Problem

Implements solana-foundation/solana-improvement-documents#182 by making sure that programs that fail with VM errors consume the remaining compute budget to simplify compute unit handling. Uses new feature gate.

Summary of Changes

  • Consume remaining compute budget for all VM errors except those that originate from syscalls
  • Add new feature gate for cu depletion

Feature Gate Issue: #3993

Copy link

mergify bot commented Jan 6, 2025

The Firedancer team maintains a line-for-line reimplementation of the
native programs, and until native programs are moved to BPF, those
implementations must exactly match their Agave counterparts.
If this PR represents a change to a native program implementation (not
tests), please include a reviewer from the Firedancer team. And please
keep refactors to a minimum.

@jstarry jstarry requested a review from Lichtso January 6, 2025 08:33
Copy link

@bw-solana bw-solana left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

All the "active" code behind the (currently) disabled feature switch, and some solid unit tests to ensure the feature behaves as expected. Thanks!

@jstarry jstarry merged commit be346e7 into anza-xyz:v2.1 Jan 8, 2025
29 checks passed
@jstarry jstarry deleted the v2-1/cu-depletion branch January 8, 2025 09:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants