summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennard Kittner <lennard@kittner.dev>2025-02-27 16:32:17 +0100
committerLennard Kittner <lennard@kittner.dev>2025-02-27 16:32:17 +0100
commit741c0406af86d45ed87863aa65a2cc81b19c17df (patch)
treeaebca2b9592bbbb42c936553b32e9aa1812ed725
parent45875015a174a27d7d86a63dd797598e379af4ff (diff)
Fixed selector
-rw-r--r--src/e_core_selector.rs5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/e_core_selector.rs b/src/e_core_selector.rs
index 76d8233..58cefb9 100644
--- a/src/e_core_selector.rs
+++ b/src/e_core_selector.rs
@@ -4,7 +4,7 @@ pub trait ECoreSelector {
fn next_core(&mut self) -> i32;
}
-//TODO: better core selection e.g. try to leave task on the same core
+//TODO: better core selection e.g. try to keep task on the same core
pub struct RoundRobinSelector {
offset: u32,
num_cores: u32,
@@ -12,7 +12,6 @@ pub struct RoundRobinSelector {
}
impl RoundRobinSelector {
- //TODO: use range instead
pub fn new(e_cores: Range<u32>) -> RoundRobinSelector {
Self {
offset: e_cores.start,
@@ -25,6 +24,6 @@ impl RoundRobinSelector {
impl ECoreSelector for RoundRobinSelector {
fn next_core(&mut self) -> i32 {
self.last_used += 1;
- (self.last_used % self.num_cores) as i32
+ (self.offset + (self.last_used % self.num_cores)) as i32
}
} \ No newline at end of file