Lines Matching full:workqueue
25 //! * The [`WorkItem`] trait is implemented for structs that can be enqueued to a workqueue.
31 //! This example defines a struct that holds an integer and can be scheduled on the workqueue. When
37 //! use kernel::workqueue::{self, impl_has_work, new_work, Work, WorkItem};
67 //! /// This method will enqueue the struct for execution on the system workqueue, where its value
70 //! let _ = workqueue::system().enqueue(val);
78 //! use kernel::workqueue::{self, impl_has_work, new_work, Work, WorkItem};
123 //! let _ = workqueue::system().enqueue::<Arc<MyStruct>, 1>(val);
127 //! let _ = workqueue::system().enqueue::<Arc<MyStruct>, 2>(val);
131 //! C header: [`include/linux/workqueue.h`](srctree/include/linux/workqueue.h)
141 … $crate::workqueue::Work::new($crate::optional_name!($($name)?), $crate::static_lock_class!())
166 /// valid workqueue, and that it remains valid until the end of `'a`.
175 /// This may fail if the work item is already enqueued in a workqueue.
184 // SAFETY: We only return `false` if the `work_struct` is already in a workqueue. The other in enqueue()
191 // Furthermore, if the C workqueue code accesses the pointer after this call to in enqueue()
286 /// The provided closure may only return `false` if the `work_struct` is already in a workqueue.
342 /// trait, and defines the linked list pointers necessary to enqueue a work item in a workqueue.
414 /// use kernel::workqueue::{impl_has_work, Work};
483 /// use kernel::workqueue::{self, impl_has_work, Work};
504 unsafe impl$(<$($generics)+>)? $crate::workqueue::HasWork<$work_type $(, $id)?> for $self {
508 … unsafe fn raw_get_work(ptr: *mut Self) -> *mut $crate::workqueue::Work<$work_type $(, $id)?> {
610 // workqueue. in __enqueue()
659 /// A freezable workqueue participates in the freeze phase of the system suspend operations. Work
660 /// items on the workqueue are drained and no new work item starts execution until thawed.
669 /// `workqueue.power_efficient` kernel parameter is specified; otherwise, it is similar to the one
680 /// A freezable workqueue participates in the freeze phase of the system suspend operations. Work
681 /// items on the workqueue are drained and no new work item starts execution until thawed.