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

Change scheduler to only store runnable tasks on run queue #1042

Commits on Sep 2, 2023

  1. Temp

    Signed-off-by: Klimenty Tsoutsman <klim@tsoutsman.com>
    tsoutsman committed Sep 2, 2023
    Configuration menu
    Copy the full SHA
    c923d37 View commit details
    Browse the repository at this point in the history
  2. Works

    Signed-off-by: Klimenty Tsoutsman <klim@tsoutsman.com>
    tsoutsman committed Sep 2, 2023
    Configuration menu
    Copy the full SHA
    83fe1de View commit details
    Browse the repository at this point in the history

Commits on Sep 4, 2023

  1. Rename scheduler_2 module to scheduler

    Signed-off-by: Klimenty Tsoutsman <klim@tsoutsman.com>
    tsoutsman committed Sep 4, 2023
    Configuration menu
    Copy the full SHA
    2ddb077 View commit details
    Browse the repository at this point in the history
  2. Add draining functionality

    Signed-off-by: Klimenty Tsoutsman <klim@tsoutsman.com>
    tsoutsman committed Sep 4, 2023
    Configuration menu
    Copy the full SHA
    972577a View commit details
    Browse the repository at this point in the history
  3. Port epoch scheduler

    Signed-off-by: Klimenty Tsoutsman <klim@tsoutsman.com>
    tsoutsman committed Sep 4, 2023
    Configuration menu
    Copy the full SHA
    ea4e592 View commit details
    Browse the repository at this point in the history
  4. Port priority scheduler

    Signed-off-by: Klimenty Tsoutsman <klim@tsoutsman.com>
    tsoutsman committed Sep 4, 2023
    Configuration menu
    Copy the full SHA
    be1688b View commit details
    Browse the repository at this point in the history

Commits on Sep 5, 2023

  1. Fix build

    Signed-off-by: Klimenty Tsoutsman <klim@tsoutsman.com>
    tsoutsman committed Sep 5, 2023
    Configuration menu
    Copy the full SHA
    41c7692 View commit details
    Browse the repository at this point in the history

Commits on Sep 6, 2023

  1. Save rflags during context switch

    There are no guarantees about the value of the interrupt flag when
    context switching. If the context switch is voluntary, i.e. a thread
    called `schedule`, interrupts will most likely be enabled, whereas
    if a thread is preempted, interrupts will be disabled. But this means
    that if a preempted thread A switches to a thread B that voluntarily
    yielded, thread B will return from the call to `schedule` with
    interrupts disabled.
    
    The AArch64 code also needs to be modified but I'll leave that to
    @NathanRoyer.
    
    Signed-off-by: Klimenty Tsoutsman <klim@tsoutsman.com>
    tsoutsman committed Sep 6, 2023
    Configuration menu
    Copy the full SHA
    425b96d View commit details
    Browse the repository at this point in the history
  2. Merge branch 'save-rflags' of https://github.com/tsoutsman/Theseus in…

    …to idle-task-in-cpu-local
    tsoutsman committed Sep 6, 2023
    Configuration menu
    Copy the full SHA
    b5743c8 View commit details
    Browse the repository at this point in the history

Commits on Sep 8, 2023

  1. Merge branch 'theseus_main' into idle-task-in-cpu-local

    Signed-off-by: Klimenty Tsoutsman <klim@tsoutsman.com>
    tsoutsman committed Sep 8, 2023
    Configuration menu
    Copy the full SHA
    e6c8978 View commit details
    Browse the repository at this point in the history
  2. Fix all features build

    Signed-off-by: Klimenty Tsoutsman <klim@tsoutsman.com>
    tsoutsman committed Sep 8, 2023
    Configuration menu
    Copy the full SHA
    4968af4 View commit details
    Browse the repository at this point in the history
  3. Remove rq_access_eval

    Signed-off-by: Klimenty Tsoutsman <klim@tsoutsman.com>
    tsoutsman committed Sep 8, 2023
    Configuration menu
    Copy the full SHA
    5a5ce94 View commit details
    Browse the repository at this point in the history
  4. Comments

    Signed-off-by: Klimenty Tsoutsman <klim@tsoutsman.com>
    tsoutsman committed Sep 8, 2023
    Configuration menu
    Copy the full SHA
    0936352 View commit details
    Browse the repository at this point in the history
  5. Fix scheduler_epoch bug

    Signed-off-by: Klimenty Tsoutsman <klim@tsoutsman.com>
    tsoutsman committed Sep 8, 2023
    Configuration menu
    Copy the full SHA
    8917875 View commit details
    Browse the repository at this point in the history
  6. Implement priority inheritance

    Signed-off-by: Klimenty Tsoutsman <klim@tsoutsman.com>
    tsoutsman committed Sep 8, 2023
    Configuration menu
    Copy the full SHA
    618b5ce View commit details
    Browse the repository at this point in the history
  7. Port rq

    Signed-off-by: Klimenty Tsoutsman <klim@tsoutsman.com>
    tsoutsman committed Sep 8, 2023
    Configuration menu
    Copy the full SHA
    cbe91ac View commit details
    Browse the repository at this point in the history
  8. Cleanup scheduler.rs

    Signed-off-by: Klimenty Tsoutsman <klim@tsoutsman.com>
    tsoutsman committed Sep 8, 2023
    Configuration menu
    Copy the full SHA
    7ffdfae View commit details
    Browse the repository at this point in the history
  9. Final

    Signed-off-by: Klimenty Tsoutsman <klim@tsoutsman.com>
    tsoutsman committed Sep 8, 2023
    Configuration menu
    Copy the full SHA
    414b31f View commit details
    Browse the repository at this point in the history
  10. Clippy 😍

    Signed-off-by: Klimenty Tsoutsman <klim@tsoutsman.com>
    tsoutsman committed Sep 8, 2023
    Configuration menu
    Copy the full SHA
    cd2b49b View commit details
    Browse the repository at this point in the history

Commits on Sep 10, 2023

  1. Remove inner box

    Signed-off-by: Klimenty Tsoutsman <klim@tsoutsman.com>
    tsoutsman committed Sep 10, 2023
    Configuration menu
    Copy the full SHA
    c420a74 View commit details
    Browse the repository at this point in the history
  2. Merge branch 'theseus_main' into idle-task-in-cpu-local

    Signed-off-by: Klimenty Tsoutsman <klim@tsoutsman.com>
    tsoutsman committed Sep 10, 2023
    Configuration menu
    Copy the full SHA
    53882f8 View commit details
    Browse the repository at this point in the history

Commits on Sep 15, 2023

  1. Configuration menu
    Copy the full SHA
    6d193f0 View commit details
    Browse the repository at this point in the history

Commits on Sep 16, 2023

  1. Implement

    Signed-off-by: Klimenty Tsoutsman <klim@tsoutsman.com>
    tsoutsman committed Sep 16, 2023
    Configuration menu
    Copy the full SHA
    c1673f7 View commit details
    Browse the repository at this point in the history
  2. Fixups

    Signed-off-by: Klimenty Tsoutsman <klim@tsoutsman.com>
    tsoutsman committed Sep 16, 2023
    Configuration menu
    Copy the full SHA
    7ef4d7e View commit details
    Browse the repository at this point in the history
  3. Fix pinned tasks

    Signed-off-by: Klimenty Tsoutsman <klim@tsoutsman.com>
    tsoutsman committed Sep 16, 2023
    Configuration menu
    Copy the full SHA
    6d23826 View commit details
    Browse the repository at this point in the history
  4. Update test_scheduler

    The new test is significantly more robust than the old one. As of right
    now, the test isn't particularly useful because we don't have task
    migration, but theseus-os#1042 adds implicit task migration when unblocking a
    task. Hence, the test has a focus on blocking and unblocking tasks.
    
    Signed-off-by: Klimenty Tsoutsman <klim@tsoutsman.com>
    tsoutsman committed Sep 16, 2023
    Configuration menu
    Copy the full SHA
    b93daf8 View commit details
    Browse the repository at this point in the history
  5. Remove whitespace

    Signed-off-by: Klimenty Tsoutsman <klim@tsoutsman.com>
    tsoutsman committed Sep 16, 2023
    Configuration menu
    Copy the full SHA
    86939c8 View commit details
    Browse the repository at this point in the history
  6. Merge branch 'new-scheduler-test' into remove-unrunnable-task-from-ru…

    …n-queue
    
    Signed-off-by: Klimenty Tsoutsman <klim@tsoutsman.com>
    tsoutsman committed Sep 16, 2023
    Configuration menu
    Copy the full SHA
    fdd2add View commit details
    Browse the repository at this point in the history
  7. Clippy

    Signed-off-by: Klimenty Tsoutsman <klim@tsoutsman.com>
    tsoutsman committed Sep 16, 2023
    Configuration menu
    Copy the full SHA
    730278d View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    b73000d View commit details
    Browse the repository at this point in the history
  9. Clippy

    Signed-off-by: Klimenty Tsoutsman <klim@tsoutsman.com>
    tsoutsman committed Sep 16, 2023
    Configuration menu
    Copy the full SHA
    e265609 View commit details
    Browse the repository at this point in the history
  10. Fix bugs

    Signed-off-by: Klimenty Tsoutsman <klim@tsoutsman.com>
    tsoutsman committed Sep 16, 2023
    Configuration menu
    Copy the full SHA
    a9d9fac View commit details
    Browse the repository at this point in the history
  11. Update documentation

    Signed-off-by: Klimenty Tsoutsman <klim@tsoutsman.com>
    tsoutsman committed Sep 16, 2023
    Configuration menu
    Copy the full SHA
    dfd9fe2 View commit details
    Browse the repository at this point in the history
  12. fix: set inner.pinned_cpu for pinned tasks

    When spawning a pinned task, `spawn` didn't previously set
    `inner.pinned_cpu`. This created problems in theseus-os#1042 because the scheduler
    didn't know that tasks were pinned and freely migrated them across
    cores.
    
    Signed-off-by: Klimenty Tsoutsman <klim@tsoutsman.com>
    tsoutsman committed Sep 16, 2023
    Configuration menu
    Copy the full SHA
    38e1a06 View commit details
    Browse the repository at this point in the history
  13. Merge branch 'fix-pinned-task' into remove-unrunnable-task-from-run-q…

    …ueue
    
    Signed-off-by: Klimenty Tsoutsman <klim@tsoutsman.com>
    tsoutsman committed Sep 16, 2023
    Configuration menu
    Copy the full SHA
    cfac9cd View commit details
    Browse the repository at this point in the history

Commits on Oct 7, 2023

  1. Merge branch 'theseus_main' into remove-unrunnable-task-from-run-queue

    Signed-off-by: Klimenty Tsoutsman <klim@tsoutsman.com>
    tsoutsman committed Oct 7, 2023
    Configuration menu
    Copy the full SHA
    232949d View commit details
    Browse the repository at this point in the history

Commits on Oct 9, 2023

  1. Temp

    Signed-off-by: Klimenty Tsoutsman <klim@tsoutsman.com>
    tsoutsman committed Oct 9, 2023
    Configuration menu
    Copy the full SHA
    368e7d4 View commit details
    Browse the repository at this point in the history