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

Feature - Recompile loaded programs before epoch boundary #32172

Closed

Conversation

Lichtso
Copy link
Contributor

@Lichtso Lichtso commented Jun 16, 2023

Problem

Continuation of #31945, to not only prune old programs which were verified and compiled against the feature set of the previous epoch, but also start recompiling them for the upcoming one before it hits.

Summary of Changes

  • Adds type ProgramRuntimeEnvironment.
  • Adds LoadedPrograms::upcoming_program_runtime_environment_v1.
  • Adds parameter recompile to Bank::load_program().
  • Removes the manually managed list FEATURES_AFFECTING_RBPF.

@Lichtso Lichtso force-pushed the feature_transition_recompilation branch 4 times, most recently from 79c77fe to a2adeb5 Compare June 16, 2023 18:05
@codecov
Copy link

codecov bot commented Jun 16, 2023

Codecov Report

Merging #32172 (6c701a4) into master (ddd0297) will decrease coverage by 0.1%.
Report is 1 commits behind head on master.
The diff coverage is 76.2%.

❗ Current head 6c701a4 differs from pull request most recent head 15db974. Consider uploading reports for the commit 15db974 to get more accurate results

@@            Coverage Diff            @@
##           master   #32172     +/-   ##
=========================================
- Coverage    81.9%    81.9%   -0.1%     
=========================================
  Files         798      798             
  Lines      217101   216652    -449     
=========================================
- Hits       178015   177530    -485     
- Misses      39086    39122     +36     

@Lichtso Lichtso force-pushed the feature_transition_recompilation branch from a2adeb5 to b8f8b29 Compare June 22, 2023 14:21
@pgarg66 pgarg66 self-requested a review June 22, 2023 16:46
pgarg66
pgarg66 previously approved these changes Jun 22, 2023
@github-actions github-actions bot added the stale [bot only] Added to stale content; results in auto-close after a week. label Jul 7, 2023
@pgarg66 pgarg66 removed the stale [bot only] Added to stale content; results in auto-close after a week. label Jul 11, 2023
@Lichtso Lichtso force-pushed the feature_transition_recompilation branch from b8f8b29 to 483558c Compare July 13, 2023 14:26
pgarg66
pgarg66 previously approved these changes Jul 17, 2023
@Lichtso Lichtso force-pushed the feature_transition_recompilation branch 2 times, most recently from 02583fb to 95b8971 Compare July 25, 2023 18:17
@github-actions github-actions bot added the stale [bot only] Added to stale content; results in auto-close after a week. label Aug 9, 2023
@github-actions github-actions bot closed this Aug 17, 2023
@Lichtso Lichtso reopened this Aug 17, 2023
@Lichtso Lichtso force-pushed the feature_transition_recompilation branch from 95b8971 to 65b5132 Compare August 17, 2023 11:23
@Lichtso Lichtso removed the stale [bot only] Added to stale content; results in auto-close after a week. label Aug 17, 2023
@Lichtso Lichtso force-pushed the feature_transition_recompilation branch 3 times, most recently from 63474b9 to b4b04cb Compare August 17, 2023 15:24
@Lichtso Lichtso force-pushed the feature_transition_recompilation branch from b4b04cb to 8d957ae Compare August 28, 2023 10:06
@Lichtso Lichtso force-pushed the feature_transition_recompilation branch 3 times, most recently from f924d4e to 176bfa0 Compare September 6, 2023 19:33
@github-actions github-actions bot added the stale [bot only] Added to stale content; results in auto-close after a week. label Sep 21, 2023
@Lichtso Lichtso force-pushed the feature_transition_recompilation branch from 176bfa0 to 6c701a4 Compare September 25, 2023 13:34
@Lichtso Lichtso removed the stale [bot only] Added to stale content; results in auto-close after a week. label Sep 25, 2023
@Lichtso Lichtso force-pushed the feature_transition_recompilation branch from 6c701a4 to 15db974 Compare September 26, 2023 18:48
@pgarg66 pgarg66 self-requested a review September 26, 2023 20:26
@Lichtso
Copy link
Contributor Author

Lichtso commented Oct 1, 2023

Closing this as it does not work. There can be multiple independent forks crossing the epoch boundary, so we can only prune once the next rooting after the epoch boundary hits. In between the epoch boundary and the first root we potentially need to replay both feature sets depending on the slot, thus each Bank needs to know its program runtime environment.

@Lichtso Lichtso closed this Oct 1, 2023
@Lichtso Lichtso deleted the feature_transition_recompilation branch October 1, 2023 15:24
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.

2 participants