Skip to content

Implement MuQSS scheduling algorithm#48

Open
bSchnepp wants to merge 43 commits intomasterfrom
ipc-fixes
Open

Implement MuQSS scheduling algorithm#48
bSchnepp wants to merge 43 commits intomasterfrom
ipc-fixes

Conversation

@bSchnepp
Copy link
Copy Markdown
Owner

This patch (roughly) implements the MuQSS scheduling algorithm, allowing for a more fair way to schedule between multiple processes.

Some things aren't quite done yet (TryAcquire for each local runqueue instead of an outright spinlock acquire), but this is much safer (and cleaner) than the prior round robin method.

@bSchnepp bSchnepp self-assigned this Dec 28, 2022
@bSchnepp
Copy link
Copy Markdown
Owner Author

Seems that this doesn't quite work for SMP just yet. Some more work needs to be done.
Is there a race somewhere? There doesn't seem to be any obvious places where locks aren't being managed as expected.

@bSchnepp
Copy link
Copy Markdown
Owner Author

bSchnepp commented Jan 1, 2023

It looks like there's something still wrong with context switching (eventually registers get corrupted on a context switch?). This maybe can be fixed by just progressing through more changes for the scheduler, which when complete this can be safely merged in.

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.

1 participant