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

don't pause billing timer when fetching EOS VM OC's code_descriptor #1123

Merged
merged 1 commit into from
Jan 25, 2025

Conversation

spoonincode
Copy link
Member

@spoonincode spoonincode commented Jan 25, 2025

This pause & restart of the billing timer occurs for every action executed by OC. It's a substantial amount of overhead (calling in to the kernel twice and doing whatever overhead needed to manage the timer) to be burdened with for every single action. I think this was added because in 1.1 consume_compile_thread_queue() is a wee bit heavier than prior releases (because it needs to take a lock a couple of times; for every action 😞 ). But since the number of outstanding compiles is limited to OC compile threads, the time spent in there is still very low. It wouldn't surprise me if this pause/resume is alone consuming more unaccounted for time than the nominal execution of consume_compile_thread_queue().

Noticed during work of #1119

@spoonincode spoonincode merged commit 909603c into main Jan 25, 2025
36 checks passed
@spoonincode spoonincode deleted the no_pause_billing_timer_on_cd branch January 25, 2025 16:20
@spoonincode spoonincode linked an issue Jan 25, 2025 that may be closed by this pull request
@ericpassmore
Copy link
Contributor

Note:start
category: Other
component: VM-OC
summary: Reduce pause and restart of billing timer for EOS VM OC.
Note:end

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

don't stop an already stopped platform_timer
4 participants