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

Scheduler: Add common struct and implementation #4952

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

apfitzge
Copy link

Problem

  • PrioGraphScheduler and GreedyScheduler have quite a bit of duplicate fields and code

Summary of Changes

  • create scheduler_common.rs to host common data and functions

Fixes #


/// All schedulers should have access to the common context for shared
/// implementation.
fn scheduling_common_mut(&mut self) -> &mut SchedulingCommon<Tx>;
Copy link
Author

Choose a reason for hiding this comment

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

here so above fn can have shared implementation.

@apfitzge apfitzge marked this pull request as ready for review February 13, 2025 19:31
tao-stones
tao-stones previously approved these changes Feb 18, 2025
Copy link

@tao-stones tao-stones left a comment

Choose a reason for hiding this comment

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

lgtm

bw-solana
bw-solana previously approved these changes Feb 18, 2025
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.

Overall, LGTM.

I tried to go through each function moved into common to see any subtle differences in implementation, but it would be easy to miss something. Called out one potential change we could make.

Is there any behavior change in the implementation of any of the common functions that you think warrants more intense scrutiny?

pub fn take_batch(
&mut self,
thread_id: ThreadId,
target_num_transactions_per_batch: usize,

Choose a reason for hiding this comment

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

should target_num_transactions_per_batch become part of the common struct so we don't have to pass it through the send functions?

@apfitzge apfitzge dismissed stale reviews from bw-solana and tao-stones via deb6390 February 19, 2025 16:32
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