aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2021-10-16 01:49:30 +0200
committerDario Nieuwenhuis <[email protected]>2021-10-16 01:50:10 +0200
commitd32477f5a19496911a2a95b002bb7cddf5b9e605 (patch)
tree14499b20499e963ca4f2bee80eb75810878e0fa3
parent39e5677621186b6ba440920d58c3ade5144b8ead (diff)
executor: Inline enqueue fns
-rw-r--r--embassy/src/executor/raw/mod.rs1
-rw-r--r--embassy/src/executor/raw/run_queue.rs1
2 files changed, 2 insertions, 0 deletions
diff --git a/embassy/src/executor/raw/mod.rs b/embassy/src/executor/raw/mod.rs
index bc20db332..5ee38715d 100644
--- a/embassy/src/executor/raw/mod.rs
+++ b/embassy/src/executor/raw/mod.rs
@@ -257,6 +257,7 @@ impl Executor {
257 /// - `task` must be a valid pointer to a spawned task. 257 /// - `task` must be a valid pointer to a spawned task.
258 /// - `task` must be set up to run in this executor. 258 /// - `task` must be set up to run in this executor.
259 /// - `task` must NOT be already enqueued (in this executor or another one). 259 /// - `task` must NOT be already enqueued (in this executor or another one).
260 #[inline(always)]
260 unsafe fn enqueue(&self, cs: CriticalSection, task: *mut TaskHeader) { 261 unsafe fn enqueue(&self, cs: CriticalSection, task: *mut TaskHeader) {
261 if self.run_queue.enqueue(cs, task) { 262 if self.run_queue.enqueue(cs, task) {
262 (self.signal_fn)(self.signal_ctx) 263 (self.signal_fn)(self.signal_ctx)
diff --git a/embassy/src/executor/raw/run_queue.rs b/embassy/src/executor/raw/run_queue.rs
index 3d68d659b..7aa2079fa 100644
--- a/embassy/src/executor/raw/run_queue.rs
+++ b/embassy/src/executor/raw/run_queue.rs
@@ -44,6 +44,7 @@ impl RunQueue {
44 /// # Safety 44 /// # Safety
45 /// 45 ///
46 /// `item` must NOT be already enqueued in any queue. 46 /// `item` must NOT be already enqueued in any queue.
47 #[inline(always)]
47 pub(crate) unsafe fn enqueue(&self, _cs: CriticalSection, task: *mut TaskHeader) -> bool { 48 pub(crate) unsafe fn enqueue(&self, _cs: CriticalSection, task: *mut TaskHeader) -> bool {
48 let prev = self.head.load(Ordering::Relaxed); 49 let prev = self.head.load(Ordering::Relaxed);
49 (*task).run_queue_item.next.store(prev, Ordering::Relaxed); 50 (*task).run_queue_item.next.store(prev, Ordering::Relaxed);