Skip to content

Commit 515bd5b

Browse files
misc: cleanup
Signed-off-by: Anhad Singh <[email protected]>
1 parent 3a42546 commit 515bd5b

File tree

10 files changed

+24
-17
lines changed

10 files changed

+24
-17
lines changed

src/aero_kernel/src/drivers/e1000.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -617,7 +617,7 @@ impl NetworkDriver for Device {
617617
return data;
618618
} else {
619619
drop(e1000);
620-
scheduler::get_scheduler().inner.await_io().unwrap();
620+
scheduler::get_scheduler().await_io().unwrap();
621621
}
622622
}
623623
}

src/aero_kernel/src/drivers/lai.rs

-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@ impl lai::Host for LaiHost {
5151

5252
fn sleep(&self, ms: u64) {
5353
scheduler::get_scheduler()
54-
.inner
5554
.sleep(Some(ms as usize / 1000))
5655
.expect("lai: unexpected signal during sleep")
5756
}

src/aero_kernel/src/fs/epoll.rs

+3-5
Original file line numberDiff line numberDiff line change
@@ -186,11 +186,9 @@ impl EPoll {
186186
}
187187

188188
if timeout > 0 {
189-
scheduler::get_scheduler()
190-
.inner
191-
.sleep(Some(timeout * 1_000_000))?;
189+
scheduler::get_scheduler().sleep(Some(timeout * 1_000_000))?;
192190
} else {
193-
scheduler::get_scheduler().inner.sleep(None)?;
191+
scheduler::get_scheduler().sleep(None)?;
194192
}
195193

196194
'search: loop {
@@ -227,7 +225,7 @@ impl EPoll {
227225
break 'search;
228226
}
229227

230-
scheduler::get_scheduler().inner.await_io()?;
228+
scheduler::get_scheduler().await_io()?;
231229
}
232230
}
233231

src/aero_kernel/src/logger.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ impl log::Log for AeroLogger {
6969

7070
if scheduler::is_initialized() {
7171
// fetch the current task, grab the TID and PID.
72-
if let Some(task) = scheduler::get_scheduler().inner.current_task_optional() {
72+
if let Some(task) = scheduler::get_scheduler().current_task_optional() {
7373
serial_print!(
7474
"(tid={}, pid={}) ",
7575
task.tid().as_usize(),

src/aero_kernel/src/syscall/fs.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -697,7 +697,7 @@ fn do_poll(fds: &mut [PollFd], timeout: Option<&TimeSpec>) -> Result<usize, Sysc
697697
}
698698

699699
'search: loop {
700-
scheduler::get_scheduler().inner.await_io()?;
700+
scheduler::get_scheduler().await_io()?;
701701

702702
for (handle, index) in refds.iter() {
703703
let pollfd = &mut fds[*index];

src/aero_kernel/src/syscall/futex.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ impl FutexContainer {
9696
let current_task = scheduler.current_task();
9797

9898
futex.insert(current_task.clone());
99-
scheduler.inner.await_io()?;
99+
scheduler.await_io()?;
100100
futex.remove(&current_task);
101101

102102
if futex.is_empty() {

src/aero_kernel/src/syscall/time.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ const CLOCK_TYPE_MONOTONIC: usize = 1;
3131
pub fn sleep(timespec: &TimeSpec) -> Result<usize, SyscallError> {
3232
let duration = (timespec.tv_nsec as usize).div_ceil(1000000000) + timespec.tv_sec as usize;
3333

34-
scheduler::get_scheduler().inner.sleep(Some(duration))?;
34+
scheduler::get_scheduler().sleep(Some(duration))?;
3535

3636
Ok(0x00)
3737
}

src/aero_kernel/src/userland/scheduler/mod.rs

+11-1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
#[cfg(feature = "round-robin")]
1919
pub mod round_robin;
2020

21+
use core::ops;
22+
2123
use alloc::sync::Arc;
2224

2325
use crate::arch::interrupts::{self, InterruptStack};
@@ -86,7 +88,7 @@ pub enum ExitStatus {
8688

8789
pub struct Scheduler {
8890
tasks: TaskContainer,
89-
pub inner: Arc<dyn SchedulerInterface>,
91+
inner: Arc<dyn SchedulerInterface>,
9092
}
9193

9294
impl Scheduler {
@@ -155,6 +157,14 @@ impl Scheduler {
155157
}
156158
}
157159

160+
impl ops::Deref for Scheduler {
161+
type Target = dyn SchedulerInterface;
162+
163+
fn deref(&self) -> &Self::Target {
164+
&*self.inner
165+
}
166+
}
167+
158168
/// Get a reference to the active scheduler.
159169
pub fn get_scheduler() -> &'static Scheduler {
160170
SCHEDULER

src/aero_kernel/src/userland/task/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -667,7 +667,7 @@ impl Task {
667667
}
668668

669669
pub fn wake_up(&self) {
670-
scheduler::get_scheduler().inner.wake_up(self.this())
670+
scheduler::get_scheduler().wake_up(self.this())
671671
}
672672

673673
pub fn is_process_leader(&self) -> bool {

src/aero_kernel/src/utils/sync.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ impl WaitQueue {
5858
// Wait until the future is completed.
5959
while !future(&mut lock) {
6060
core::mem::drop(lock); // Drop the IRQ lock and await for IO to complete.
61-
scheduler.inner.await_io()?;
61+
scheduler.await_io()?;
6262

6363
// Re-acquire the lock.
6464
lock = mutex.lock_irq();
@@ -94,7 +94,7 @@ impl WaitQueue {
9494
let this = self.queue.lock_irq();
9595

9696
for task in this.iter() {
97-
scheduler.inner.wake_up(task.clone());
97+
scheduler.wake_up(task.clone());
9898
}
9999
}
100100

@@ -104,7 +104,7 @@ impl WaitQueue {
104104
let this: MutexGuard<Vec<Arc<Task>>> = self.queue.lock_irq();
105105

106106
if let Some(task) = this.first() {
107-
scheduler.inner.wake_up(task.clone());
107+
scheduler.wake_up(task.clone());
108108
}
109109
}
110110

@@ -168,7 +168,7 @@ impl<T> BMutex<T> {
168168
return BMutexGuard { guard, mutex: self };
169169
}
170170

171-
let _ = scheduler::get_scheduler().inner.await_io();
171+
let _ = scheduler::get_scheduler().await_io();
172172
}
173173
}
174174
}

0 commit comments

Comments
 (0)