Skip to content

Conversation

@mjp41
Copy link
Member

@mjp41 mjp41 commented Sep 25, 2025

This refactors various Verona specific parts out side of the work stealing scheduler.

There are still dependencies on logging and systematic testing.

This is now part of the harness, removing unused functionality.
The barrier is no longer needed in the scheduler it was part of the complex GC teardown that is not required anymore.
The BoC runtime is built ontop of a work stealing scheduler.  The work stealing scheduler does not require the BoC runtime.  The restructures the code to make the work stealing scheduler more standalone.
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR refactors the work stealing scheduler to reduce its dependency on Behavior-on-Cowns (BoC) components, making the scheduler more modular and self-contained. The changes move various Verona-specific functionality out of the core scheduler.

  • Removal of scheduler leak detection functionality and related barrier mechanisms
  • Relocation of BoC-specific components (cown, epoch, noticeboard) to dedicated boc directory
  • Update of CI configuration to use newer Windows runner

Reviewed Changes

Copilot reviewed 18 out of 20 changed files in this pull request and generated no comments.

Show a summary per file
File Description
test/perf/backpressure3/backpressure3.cc Removes scheduler leak detection call
test/perf/backpressure2/backpressure2.cc Removes scheduler leak detection call
test/func/weak_leak_bug/weak_leak_bug.cc Removes scheduler leak detection call
test/func/sched/sched.cc Updates includes to reference scheduler components directly
src/rt/verona.h Moves BoC includes from sched to boc directory
src/rt/sched/work.h Updates include path for heap dependency
src/rt/sched/threadstate.h Removes barrier functionality and simplifies thread state
src/rt/sched/threadpool.h Removes leak detection and barrier synchronization code
src/rt/sched/schedulerthread.h Removes object and noticeboard dependencies
src/rt/sched/mpmcq.h Removes epoch dependency
src/rt/debug/harness.h Moves epoch flush and object reset to test harness
src/rt/cpp/notification.h Updates include path to boc directory
src/rt/cpp/behaviour.h Updates include path to boc directory
src/rt/boc/shared.h Removes scheduler thread dependencies
src/rt/boc/noticeboard.h Updates include path for epoch
src/rt/boc/cown.h Removes scheduler thread dependencies
src/rt/boc/base_noticeboard.h Updates include path for epoch
.github/workflows/cmake.yml Updates Windows CI to use latest runner

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@mjp41 mjp41 merged commit 46a9bc3 into microsoft:main Sep 25, 2025
8 checks passed
@mjp41 mjp41 deleted the tidy branch September 25, 2025 11:21
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