Skip to content
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.

Free disputed cores before processing bitfields #4008

Merged
6 commits merged into from
Oct 4, 2021
Merged

Conversation

rphmeier
Copy link
Contributor

@rphmeier rphmeier commented Oct 4, 2021

  1. Extract free_cores from Scheduler::schedule
  2. Invoke free_cores with the dispute-freed cores before processing bitfields
  3. Guide changes

@rphmeier rphmeier added A0-please_review Pull request needs code review. B0-silent Changes should not be mentioned in any release notes C1-low PR touches the given topic and has a low impact on builders. D5-nicetohaveaudit ⚠️ PR contains trivial changes to logic that should be properly reviewed. labels Oct 4, 2021
};

if !freed_disputed.is_empty() {
freed_disputed.sort_unstable_by_key(|pair| pair.0); // sort by core index
Copy link
Member

Choose a reason for hiding this comment

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

if the assumption of core uniqueness can be invalidated in the future (with "hyperthreads"?), I'd suggest using stable sort. Otherwise including the reasoning as a comment why using unstable is fine.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It's used elsewhere and aligns with the implementers' guide. If we introduce hypertreads / fractional execution we will definitely need to revisit almost everything in the runtime in-depth.

@rphmeier
Copy link
Contributor Author

rphmeier commented Oct 4, 2021

bot merge

@ghost
Copy link

ghost commented Oct 4, 2021

Waiting for commit status.

@ghost ghost merged commit 1a92391 into master Oct 4, 2021
@ghost ghost deleted the rh-unschedule-disputed branch October 4, 2021 15:02
ordian added a commit that referenced this pull request Oct 4, 2021
* master:
  chore: update `builder` image (#3884)
  Free disputed cores before processing bitfields (#4008)
  Make candidate validation timeouts configurable (#4001)
ordian added a commit that referenced this pull request Oct 5, 2021
* master: (138 commits)
  Allow an Offset to Lease Periods (#3980)
  Bump quote from 1.0.9 to 1.0.10 (#4013)
  Companion for #9834 (Transaction Priority) (#3901)
  chore: update `builder` image (#3884)
  Free disputed cores before processing bitfields (#4008)
  Make candidate validation timeouts configurable (#4001)
  Add extrinsic ordering filtering (#3631)
  chore: ci list files that spellcheck finds (#3992)
  Use background tasks properly in candidate-validation (#4002)
  Fix unoccupied bitfields (#4004)
  Bump syn from 1.0.77 to 1.0.78 (#4006)
  Bump jsonrpsee-ws-client from 0.3.0 to 0.3.1 (#3931)
  fix clock drift for assignments issued before the block (#3851)
  Remove unoccupied bit check (#3999)
  bump substrate (#4000)
  change genesis authority set for wococo-local, revert rococo-local (#3998)
  ignore irrelevant approvals in logs (#3859)
  avoid expect, on free availability core (#3994)
  preserve finalized block in active leaves (#3997)
  some tweaks to rococo-local (#3996)
  ...
This pull request was closed.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
A0-please_review Pull request needs code review. B0-silent Changes should not be mentioned in any release notes C1-low PR touches the given topic and has a low impact on builders. D5-nicetohaveaudit ⚠️ PR contains trivial changes to logic that should be properly reviewed.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants