pub struct CpuRemote { /* private fields */ }Expand description
Stable cross-CPU publication endpoint for one scheduler owner.
This object owns the IRQ-safe target runqueue, atomic delivery state, and
intrusive owner-control inboxes. Owner-only runtime accounting and switch
tail state remain in CpuLocal.
Implementations§
Source§impl CpuRemote
impl CpuRemote
Sourcepub fn lifecycle_state(&self) -> CpuLifecycleState
pub fn lifecycle_state(&self) -> CpuLifecycleState
Returns the CPU’s placement and publication lifecycle.
Source§impl CpuRemote
impl CpuRemote
Sourcepub unsafe fn claim_local(
&self,
cpu: *mut CpuLocal,
) -> Result<CpuLocalOwnerBorrow<'_>, TaskError>
pub unsafe fn claim_local( &self, cpu: *mut CpuLocal, ) -> Result<CpuLocalOwnerBorrow<'_>, TaskError>
Sourcepub unsafe fn borrow_local_in_scheduler_frame(
&self,
cpu: NonNull<CpuLocal>,
) -> CpuLocalOwnerBorrow<'_>
pub unsafe fn borrow_local_in_scheduler_frame( &self, cpu: NonNull<CpuLocal>, ) -> CpuLocalOwnerBorrow<'_>
Sourcepub fn current_thread(&self) -> Option<ThreadId>
pub fn current_thread(&self) -> Option<ThreadId>
Returns rq->curr under the authoritative runqueue lock.
Sourcepub fn idle_thread(&self) -> Option<ThreadId>
pub fn idle_thread(&self) -> Option<ThreadId>
Returns the configured idle-thread snapshot.
Sourcepub fn busy_runtime_ns(&self) -> u64
pub fn busy_runtime_ns(&self) -> u64
Returns cumulative time this CPU has executed non-idle scheduler threads.
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for CpuRemote
impl !RefUnwindSafe for CpuRemote
impl !Unpin for CpuRemote
impl !UnsafeUnpin for CpuRemote
impl !UnwindSafe for CpuRemote
impl Send for CpuRemote
impl Sync for CpuRemote
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more