diff options
| author | Dario Nieuwenhuis <[email protected]> | 2021-10-16 01:49:30 +0200 |
|---|---|---|
| committer | Dario Nieuwenhuis <[email protected]> | 2021-10-16 01:50:10 +0200 |
| commit | d32477f5a19496911a2a95b002bb7cddf5b9e605 (patch) | |
| tree | 14499b20499e963ca4f2bee80eb75810878e0fa3 | |
| parent | 39e5677621186b6ba440920d58c3ade5144b8ead (diff) | |
executor: Inline enqueue fns
| -rw-r--r-- | embassy/src/executor/raw/mod.rs | 1 | ||||
| -rw-r--r-- | embassy/src/executor/raw/run_queue.rs | 1 |
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); |
