scx_nest: Reset schedulings when a task is dispatched #18
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In scx_nest, we currently count the number of times that a core is scheduled for compaction before we eventually just eagerly compact the core. The idea is that the core could thrash between being scheduled and then "de-scheduled" for compaction if there are a couple of tasks that are bouncing between cores in the primary nest often enough to kick them out of being compacted.
We're currently resetting schedulings when a core is eagerly compacted, but to be precise we should probably also reset the count when a core consumes a task from the fallback DSQ, at this indicates that the system is overcommitted and that we likely won't benefit from compacting the primary nest.