diff --git a/kconfig/config/gd32e507_eval/debug/defconfig b/kconfig/config/gd32e507_eval/debug/defconfig index 48843d6d..471fe56a 100644 --- a/kconfig/config/gd32e507_eval/debug/defconfig +++ b/kconfig/config/gd32e507_eval/debug/defconfig @@ -18,7 +18,7 @@ CONFIG_ALLOCATOR_TLSF=y # CONFIG_ALLOCATOR_BUDDY is not set CONFIG_ALLOCATOR="tlsf" CONFIG_SOFT_TIMER=y -CONFIG_ROBIN_SCHEDULER=y +CONFIG_ROUND_ROBIN=y CONFIG_ROBIN_SLICE=10 CONFIG_OVERFLOW_CHECK=y CONFIG_STACK_HIGHWATER_CHECK=y diff --git a/kconfig/config/gd32e507_eval/release/defconfig b/kconfig/config/gd32e507_eval/release/defconfig index 3b7c9079..70ca60f5 100644 --- a/kconfig/config/gd32e507_eval/release/defconfig +++ b/kconfig/config/gd32e507_eval/release/defconfig @@ -18,7 +18,7 @@ CONFIG_ALLOCATOR_TLSF=y # CONFIG_ALLOCATOR_BUDDY is not set CONFIG_ALLOCATOR="tlsf" CONFIG_SOFT_TIMER=y -CONFIG_ROBIN_SCHEDULER=y +CONFIG_ROUND_ROBIN=y CONFIG_ROBIN_SLICE=10 CONFIG_OVERFLOW_CHECK=y CONFIG_STACK_HIGHWATER_CHECK=y diff --git a/kconfig/config/gd32vw553_eval/coverage/defconfig b/kconfig/config/gd32vw553_eval/coverage/defconfig index 00e0b5c8..863ae100 100644 --- a/kconfig/config/gd32vw553_eval/coverage/defconfig +++ b/kconfig/config/gd32vw553_eval/coverage/defconfig @@ -18,7 +18,7 @@ CONFIG_ALLOCATOR="tlsf" # CONFIG_SOFT_TIMER=y CONFIG_EVENT_FLAGS=y -CONFIG_ROBIN_SCHEDULER=y +CONFIG_ROUND_ROBIN=y CONFIG_ROBIN_SLICE=10 CONFIG_OVERFLOW_CHECK=y CONFIG_STACK_HIGHWATER_CHECK=y diff --git a/kconfig/config/gd32vw553_eval/debug/defconfig b/kconfig/config/gd32vw553_eval/debug/defconfig index 9be7f6b8..8dee11a2 100644 --- a/kconfig/config/gd32vw553_eval/debug/defconfig +++ b/kconfig/config/gd32vw553_eval/debug/defconfig @@ -18,7 +18,7 @@ CONFIG_ALLOCATOR="tlsf" # CONFIG_SOFT_TIMER=y CONFIG_EVENT_FLAGS=y -CONFIG_ROBIN_SCHEDULER=y +CONFIG_ROUND_ROBIN=y CONFIG_ROBIN_SLICE=10 CONFIG_OVERFLOW_CHECK=y CONFIG_STACK_HIGHWATER_CHECK=y diff --git a/kconfig/config/gd32vw553_eval/release/defconfig b/kconfig/config/gd32vw553_eval/release/defconfig index 9be7f6b8..8dee11a2 100644 --- a/kconfig/config/gd32vw553_eval/release/defconfig +++ b/kconfig/config/gd32vw553_eval/release/defconfig @@ -18,7 +18,7 @@ CONFIG_ALLOCATOR="tlsf" # CONFIG_SOFT_TIMER=y CONFIG_EVENT_FLAGS=y -CONFIG_ROBIN_SCHEDULER=y +CONFIG_ROUND_ROBIN=y CONFIG_ROBIN_SLICE=10 CONFIG_OVERFLOW_CHECK=y CONFIG_STACK_HIGHWATER_CHECK=y diff --git a/kconfig/config/qemu_mps2_an385/coverage/defconfig b/kconfig/config/qemu_mps2_an385/coverage/defconfig index 2cf466c4..8a2d1f7e 100644 --- a/kconfig/config/qemu_mps2_an385/coverage/defconfig +++ b/kconfig/config/qemu_mps2_an385/coverage/defconfig @@ -17,7 +17,7 @@ CONFIG_ALLOCATOR="slab" # CONFIG_SOFT_TIMER=y CONFIG_EVENT_FLAGS=y -CONFIG_ROBIN_SCHEDULER=y +CONFIG_ROUND_ROBIN=y CONFIG_ROBIN_SLICE=10 CONFIG_OVERFLOW_CHECK=y CONFIG_STACK_HIGHWATER_CHECK=y diff --git a/kconfig/config/qemu_mps2_an385/debug/defconfig b/kconfig/config/qemu_mps2_an385/debug/defconfig index 2cf466c4..8a2d1f7e 100644 --- a/kconfig/config/qemu_mps2_an385/debug/defconfig +++ b/kconfig/config/qemu_mps2_an385/debug/defconfig @@ -17,7 +17,7 @@ CONFIG_ALLOCATOR="slab" # CONFIG_SOFT_TIMER=y CONFIG_EVENT_FLAGS=y -CONFIG_ROBIN_SCHEDULER=y +CONFIG_ROUND_ROBIN=y CONFIG_ROBIN_SLICE=10 CONFIG_OVERFLOW_CHECK=y CONFIG_STACK_HIGHWATER_CHECK=y diff --git a/kconfig/config/qemu_mps2_an385/release/defconfig b/kconfig/config/qemu_mps2_an385/release/defconfig index 2cf466c4..8a2d1f7e 100644 --- a/kconfig/config/qemu_mps2_an385/release/defconfig +++ b/kconfig/config/qemu_mps2_an385/release/defconfig @@ -17,7 +17,7 @@ CONFIG_ALLOCATOR="slab" # CONFIG_SOFT_TIMER=y CONFIG_EVENT_FLAGS=y -CONFIG_ROBIN_SCHEDULER=y +CONFIG_ROUND_ROBIN=y CONFIG_ROBIN_SLICE=10 CONFIG_OVERFLOW_CHECK=y CONFIG_STACK_HIGHWATER_CHECK=y diff --git a/kconfig/config/qemu_mps3_an547/coverage/defconfig b/kconfig/config/qemu_mps3_an547/coverage/defconfig index 71b98de5..e77a66b6 100644 --- a/kconfig/config/qemu_mps3_an547/coverage/defconfig +++ b/kconfig/config/qemu_mps3_an547/coverage/defconfig @@ -17,7 +17,7 @@ CONFIG_ALLOCATOR="slab" # CONFIG_SOFT_TIMER=y CONFIG_EVENT_FLAGS=y -CONFIG_ROBIN_SCHEDULER=y +CONFIG_ROUND_ROBIN=y CONFIG_ROBIN_SLICE=10 CONFIG_OVERFLOW_CHECK=y CONFIG_STACK_HIGHWATER_CHECK=y diff --git a/kconfig/config/qemu_mps3_an547/debug/defconfig b/kconfig/config/qemu_mps3_an547/debug/defconfig index 71b98de5..e77a66b6 100644 --- a/kconfig/config/qemu_mps3_an547/debug/defconfig +++ b/kconfig/config/qemu_mps3_an547/debug/defconfig @@ -17,7 +17,7 @@ CONFIG_ALLOCATOR="slab" # CONFIG_SOFT_TIMER=y CONFIG_EVENT_FLAGS=y -CONFIG_ROBIN_SCHEDULER=y +CONFIG_ROUND_ROBIN=y CONFIG_ROBIN_SLICE=10 CONFIG_OVERFLOW_CHECK=y CONFIG_STACK_HIGHWATER_CHECK=y diff --git a/kconfig/config/qemu_mps3_an547/release/defconfig b/kconfig/config/qemu_mps3_an547/release/defconfig index 48b328bb..da39d25f 100644 --- a/kconfig/config/qemu_mps3_an547/release/defconfig +++ b/kconfig/config/qemu_mps3_an547/release/defconfig @@ -18,7 +18,7 @@ CONFIG_ALLOCATOR="slab" # CONFIG_SOFT_TIMER=y CONFIG_EVENT_FLAGS=y -CONFIG_ROBIN_SCHEDULER=y +CONFIG_ROUND_ROBIN=y CONFIG_ROBIN_SLICE=10 CONFIG_OVERFLOW_CHECK=y CONFIG_STACK_HIGHWATER_CHECK=y diff --git a/kconfig/config/qemu_riscv32/coverage/defconfig b/kconfig/config/qemu_riscv32/coverage/defconfig index c6964542..62389c31 100644 --- a/kconfig/config/qemu_riscv32/coverage/defconfig +++ b/kconfig/config/qemu_riscv32/coverage/defconfig @@ -18,7 +18,7 @@ CONFIG_ALLOCATOR="tlsf" # CONFIG_SOFT_TIMER=y CONFIG_EVENT_FLAGS=y -CONFIG_ROBIN_SCHEDULER=y +CONFIG_ROUND_ROBIN=y CONFIG_ROBIN_SLICE=10 CONFIG_OVERFLOW_CHECK=y CONFIG_STACK_HIGHWATER_CHECK=y diff --git a/kconfig/config/qemu_riscv32/debug/defconfig b/kconfig/config/qemu_riscv32/debug/defconfig index f5e9c373..b230376a 100644 --- a/kconfig/config/qemu_riscv32/debug/defconfig +++ b/kconfig/config/qemu_riscv32/debug/defconfig @@ -18,7 +18,7 @@ CONFIG_ALLOCATOR="tlsf" # CONFIG_SOFT_TIMER=y CONFIG_EVENT_FLAGS=y -CONFIG_ROBIN_SCHEDULER=y +CONFIG_ROUND_ROBIN=y CONFIG_ROBIN_SLICE=10 CONFIG_OVERFLOW_CHECK=y CONFIG_STACK_HIGHWATER_CHECK=y diff --git a/kconfig/config/qemu_riscv32/release/defconfig b/kconfig/config/qemu_riscv32/release/defconfig index c6964542..62389c31 100644 --- a/kconfig/config/qemu_riscv32/release/defconfig +++ b/kconfig/config/qemu_riscv32/release/defconfig @@ -18,7 +18,7 @@ CONFIG_ALLOCATOR="tlsf" # CONFIG_SOFT_TIMER=y CONFIG_EVENT_FLAGS=y -CONFIG_ROBIN_SCHEDULER=y +CONFIG_ROUND_ROBIN=y CONFIG_ROBIN_SLICE=10 CONFIG_OVERFLOW_CHECK=y CONFIG_STACK_HIGHWATER_CHECK=y diff --git a/kconfig/config/qemu_riscv64/coverage/defconfig b/kconfig/config/qemu_riscv64/coverage/defconfig index 2f2c182c..6fd85c96 100644 --- a/kconfig/config/qemu_riscv64/coverage/defconfig +++ b/kconfig/config/qemu_riscv64/coverage/defconfig @@ -14,7 +14,7 @@ CONFIG_ALLOCATOR="tlsf" # CONFIG_SOFT_TIMER=y CONFIG_EVENT_FLAGS=y -CONFIG_ROBIN_SCHEDULER=y +CONFIG_ROUND_ROBIN=y CONFIG_ROBIN_SLICE=10 CONFIG_OVERFLOW_CHECK=y CONFIG_STACK_HIGHWATER_CHECK=y diff --git a/kconfig/config/qemu_riscv64/debug/defconfig b/kconfig/config/qemu_riscv64/debug/defconfig index 60f57434..be55b99f 100644 --- a/kconfig/config/qemu_riscv64/debug/defconfig +++ b/kconfig/config/qemu_riscv64/debug/defconfig @@ -14,7 +14,7 @@ CONFIG_ALLOCATOR="tlsf" # CONFIG_SOFT_TIMER=y CONFIG_EVENT_FLAGS=y -CONFIG_ROBIN_SCHEDULER=y +CONFIG_ROUND_ROBIN=y CONFIG_ROBIN_SLICE=10 CONFIG_OVERFLOW_CHECK=y CONFIG_STACK_HIGHWATER_CHECK=y diff --git a/kconfig/config/qemu_riscv64/release/defconfig b/kconfig/config/qemu_riscv64/release/defconfig index 2f2c182c..6fd85c96 100644 --- a/kconfig/config/qemu_riscv64/release/defconfig +++ b/kconfig/config/qemu_riscv64/release/defconfig @@ -14,7 +14,7 @@ CONFIG_ALLOCATOR="tlsf" # CONFIG_SOFT_TIMER=y CONFIG_EVENT_FLAGS=y -CONFIG_ROBIN_SCHEDULER=y +CONFIG_ROUND_ROBIN=y CONFIG_ROBIN_SLICE=10 CONFIG_OVERFLOW_CHECK=y CONFIG_STACK_HIGHWATER_CHECK=y diff --git a/kconfig/config/qemu_virt64_aarch64/coverage/defconfig b/kconfig/config/qemu_virt64_aarch64/coverage/defconfig index f87aadf5..bdf207bf 100644 --- a/kconfig/config/qemu_virt64_aarch64/coverage/defconfig +++ b/kconfig/config/qemu_virt64_aarch64/coverage/defconfig @@ -14,7 +14,7 @@ CONFIG_ALLOCATOR="tlsf" # CONFIG_SOFT_TIMER=y # CONFIG_EVENT_FLAGS is not set -CONFIG_ROBIN_SCHEDULER=y +CONFIG_ROUND_ROBIN=y CONFIG_ROBIN_SLICE=10 CONFIG_OVERFLOW_CHECK=y CONFIG_STACK_HIGHWATER_CHECK=y diff --git a/kconfig/config/qemu_virt64_aarch64/debug/defconfig b/kconfig/config/qemu_virt64_aarch64/debug/defconfig index f87aadf5..bdf207bf 100644 --- a/kconfig/config/qemu_virt64_aarch64/debug/defconfig +++ b/kconfig/config/qemu_virt64_aarch64/debug/defconfig @@ -14,7 +14,7 @@ CONFIG_ALLOCATOR="tlsf" # CONFIG_SOFT_TIMER=y # CONFIG_EVENT_FLAGS is not set -CONFIG_ROBIN_SCHEDULER=y +CONFIG_ROUND_ROBIN=y CONFIG_ROBIN_SLICE=10 CONFIG_OVERFLOW_CHECK=y CONFIG_STACK_HIGHWATER_CHECK=y diff --git a/kconfig/config/qemu_virt64_aarch64/release/defconfig b/kconfig/config/qemu_virt64_aarch64/release/defconfig index f87aadf5..bdf207bf 100644 --- a/kconfig/config/qemu_virt64_aarch64/release/defconfig +++ b/kconfig/config/qemu_virt64_aarch64/release/defconfig @@ -14,7 +14,7 @@ CONFIG_ALLOCATOR="tlsf" # CONFIG_SOFT_TIMER=y # CONFIG_EVENT_FLAGS is not set -CONFIG_ROBIN_SCHEDULER=y +CONFIG_ROUND_ROBIN=y CONFIG_ROBIN_SLICE=10 CONFIG_OVERFLOW_CHECK=y CONFIG_STACK_HIGHWATER_CHECK=y diff --git a/kconfig/config/raspberry_pico2_cortexm/debug/defconfig b/kconfig/config/raspberry_pico2_cortexm/debug/defconfig index 63389075..cd0ae877 100644 --- a/kconfig/config/raspberry_pico2_cortexm/debug/defconfig +++ b/kconfig/config/raspberry_pico2_cortexm/debug/defconfig @@ -18,7 +18,7 @@ CONFIG_ALLOCATOR_TLSF=y # CONFIG_ALLOCATOR_BUDDY is not set CONFIG_ALLOCATOR="tlsf" CONFIG_SOFT_TIMER=y -CONFIG_ROBIN_SCHEDULER=y +CONFIG_ROUND_ROBIN=y CONFIG_ROBIN_SLICE=10 CONFIG_OVERFLOW_CHECK=y CONFIG_STACK_HIGHWATER_CHECK=y diff --git a/kconfig/config/raspberry_pico2_cortexm/release/defconfig b/kconfig/config/raspberry_pico2_cortexm/release/defconfig index 540c07b1..7e33595c 100644 --- a/kconfig/config/raspberry_pico2_cortexm/release/defconfig +++ b/kconfig/config/raspberry_pico2_cortexm/release/defconfig @@ -18,7 +18,7 @@ CONFIG_ALLOCATOR_TLSF=y # CONFIG_ALLOCATOR_BUDDY is not set CONFIG_ALLOCATOR="tlsf" CONFIG_SOFT_TIMER=y -CONFIG_ROBIN_SCHEDULER=y +CONFIG_ROUND_ROBIN=y CONFIG_ROBIN_SLICE=10 CONFIG_OVERFLOW_CHECK=y CONFIG_STACK_HIGHWATER_CHECK=y diff --git a/kconfig/config/rk3568/coverage/defconfig b/kconfig/config/rk3568/coverage/defconfig index 9c9e8ca2..630ec794 100644 --- a/kconfig/config/rk3568/coverage/defconfig +++ b/kconfig/config/rk3568/coverage/defconfig @@ -18,7 +18,7 @@ CONFIG_ALLOCATOR="tlsf" # CONFIG_SOFT_TIMER=y CONFIG_EVENT_FLAGS=y -CONFIG_ROBIN_SCHEDULER=y +CONFIG_ROUND_ROBIN=y CONFIG_ROBIN_SLICE=10 CONFIG_OVERFLOW_CHECK=y CONFIG_STACK_HIGHWATER_CHECK=y diff --git a/kconfig/config/rk3568/debug/defconfig b/kconfig/config/rk3568/debug/defconfig index aaf5e763..193f2722 100644 --- a/kconfig/config/rk3568/debug/defconfig +++ b/kconfig/config/rk3568/debug/defconfig @@ -15,7 +15,7 @@ CONFIG_ALLOCATOR="tlsf" # CONFIG_SOFT_TIMER=y # CONFIG_EVENT_FLAGS is not set -CONFIG_ROBIN_SCHEDULER=y +CONFIG_ROUND_ROBIN=y CONFIG_ROBIN_SLICE=10 CONFIG_OVERFLOW_CHECK=y CONFIG_STACK_HIGHWATER_CHECK=y diff --git a/kconfig/config/rk3568/release/defconfig b/kconfig/config/rk3568/release/defconfig index aaf5e763..193f2722 100644 --- a/kconfig/config/rk3568/release/defconfig +++ b/kconfig/config/rk3568/release/defconfig @@ -15,7 +15,7 @@ CONFIG_ALLOCATOR="tlsf" # CONFIG_SOFT_TIMER=y # CONFIG_EVENT_FLAGS is not set -CONFIG_ROBIN_SCHEDULER=y +CONFIG_ROUND_ROBIN=y CONFIG_ROBIN_SLICE=10 CONFIG_OVERFLOW_CHECK=y CONFIG_STACK_HIGHWATER_CHECK=y diff --git a/kernel/src/scheduler/Kconfig b/kernel/src/scheduler/Kconfig index 98d06bee..5bd32b01 100644 --- a/kernel/src/scheduler/Kconfig +++ b/kernel/src/scheduler/Kconfig @@ -11,14 +11,14 @@ config EVENT_FLAGS default n bool "Enable event flags" -config ROBIN_SCHEDULER +config ROUND_ROBIN default y bool "Enable robin scheduler" config ROBIN_SLICE default 10 int "The tick slice of robin scheduler" - depends on ROBIN_SCHEDULER + depends on ROUND_ROBIN config OVERFLOW_CHECK default y diff --git a/kernel/src/scheduler/mod.rs b/kernel/src/scheduler/mod.rs index 0630d968..7da9853d 100644 --- a/kernel/src/scheduler/mod.rs +++ b/kernel/src/scheduler/mod.rs @@ -190,7 +190,7 @@ pub(crate) extern "C" fn save_context_finish_hook( fn switch_current_thread(next: ThreadNode, old_sp: usize) -> usize { let now = Tick::now(); - #[cfg(robin_scheduler)] + #[cfg(round_robin)] { next.set_this_round_start_at(now); let time_slices = next.refresh_time_slices(); @@ -228,7 +228,7 @@ fn switch_current_thread(next: ThreadNode, old_sp: usize) -> usize { next_saved_sp, next_priority, ); - #[cfg(robin_scheduler)] + #[cfg(round_robin)] { let start = old.this_round_start_at(); let elapsed = now.since(start); @@ -460,9 +460,9 @@ pub fn current_thread_id() -> usize { } pub(crate) fn need_reschedule_at(moment: Tick) -> bool { - #[cfg(not(robin_scheduler))] + #[cfg(not(round_robin))] return false; - #[cfg(robin_scheduler)] + #[cfg(round_robin)] { let this_thread = current_thread_ref(); if Thread::id(this_thread) == Thread::id(idle::current_idle_thread_ref()) { diff --git a/kernel/src/thread/mod.rs b/kernel/src/thread/mod.rs index d3237625..466a6c4a 100644 --- a/kernel/src/thread/mod.rs +++ b/kernel/src/thread/mod.rs @@ -228,18 +228,18 @@ pub struct Thread { // - Check mutex's pending queue acquired_mutexes: SpinLock, signal_context: Option>, - #[cfg(robin_scheduler)] + #[cfg(round_robin)] rr: RoundRobin, } -#[cfg(robin_scheduler)] +#[cfg(round_robin)] #[derive(Default, Debug)] pub(crate) struct RoundRobin { this_round_start_at: Cell, time_slices: Cell, } -#[cfg(robin_scheduler)] +#[cfg(round_robin)] impl RoundRobin { pub const fn new() -> Self { Self { @@ -443,7 +443,7 @@ impl Thread { pending_on_mutex: ArcCas::new(None), acquired_mutexes: SpinLock::new(MutexList::new()), signal_context: None, - #[cfg(robin_scheduler)] + #[cfg(round_robin)] rr: RoundRobin::new(), } } @@ -752,23 +752,23 @@ impl Thread { true } - #[cfg(robin_scheduler)] + #[cfg(round_robin)] pub fn this_round_start_at(&self) -> Tick { self.rr.this_round_start_at.get() } - #[cfg(robin_scheduler)] + #[cfg(round_robin)] pub fn set_this_round_start_at(&self, moment: Tick) -> &Self { self.rr.this_round_start_at.set(moment); self } - #[cfg(robin_scheduler)] + #[cfg(round_robin)] pub fn remaining_time_slices(&self) -> Tick { self.rr.time_slices.get() } - #[cfg(robin_scheduler)] + #[cfg(round_robin)] pub fn elapse_time_slices(&self, elapsed: Tick) -> Tick { let old = self.rr.time_slices.get(); let diff = if elapsed.0 >= old.0 { @@ -780,7 +780,7 @@ impl Thread { diff } - #[cfg(robin_scheduler)] + #[cfg(round_robin)] pub fn refresh_time_slices(&self) -> Tick { let mut current = self.rr.time_slices.get(); if current.0 != 0 {