perf(kernel): linked cap tree, translate-based page lookup, next-fit frames/heap, targeted dequeue; host benches
This commit is contained in:
@@ -116,6 +116,11 @@ impl Notification {
|
||||
self.unbind(thread);
|
||||
}
|
||||
|
||||
/// Takes `thread` out of the waiters, leaving any binding.
|
||||
pub fn remove_waiter(&mut self, thread: ThreadId) {
|
||||
self.waiters.remove_thread(thread);
|
||||
}
|
||||
|
||||
/// Drains every waiter, e.g. when the notification is destroyed.
|
||||
pub fn pop_waiter(&mut self) -> Option<ThreadId> {
|
||||
self.waiters.pop()
|
||||
@@ -177,12 +182,6 @@ impl NotificationTable {
|
||||
.filter(move |n| n.owner == owner)
|
||||
.map(|n| n.id)
|
||||
}
|
||||
|
||||
pub fn remove_thread_from_all(&mut self, thread: ThreadId) {
|
||||
for n in self.slots.iter_mut().flatten() {
|
||||
n.remove_thread(thread);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Default for NotificationTable {
|
||||
|
||||
Reference in New Issue
Block a user