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
38 //! use kernel::workqueue::{self, Work, WorkItem};
69 //! /// This method will enqueue the struct for execution on the system workqueue, where its value
72 //! let _ = workqueue::system().enqueue(val);
81 //! use kernel::workqueue::{self, Work, WorkItem};
127 //! let _ = workqueue::system().enqueue::<Arc<MyStruct>, 1>(val);
131 //! let _ = workqueue::system().enqueue::<Arc<MyStruct>, 2>(val);
135 //! C header: [`include/linux/workqueue.h`](srctree/include/linux/workqueue.h)
147 … $crate::workqueue::Work::new($crate::optional_name!($($name)?), $crate::static_lock_class!())
171 /// valid workqueue, and that it remains valid until the end of 'a.
180 /// This may fail if the work item is already enqueued in a workqueue.
189 // SAFETY: We only return `false` if the `work_struct` is already in a workqueue. The other in enqueue()
196 // Furthermore, if the C workqueue code accesses the pointer after this call to in enqueue()
279 /// The provided closure may only return `false` if the `work_struct` is already in a workqueue.
332 /// trait, and defines the linked list pointers necessary to enqueue a work item in a workqueue.
401 /// use kernel::workqueue::Work;
478 /// use kernel::workqueue::{self, Work};
499 …unsafe impl$(<$($implarg),*>)? $crate::workqueue::HasWork<$work_type $(, $id)?> for $self $(<$($se…
503 … unsafe fn raw_get_work(ptr: *mut Self) -> *mut $crate::workqueue::Work<$work_type $(, $id)?> {
604 // workqueue. in __enqueue()
653 /// A freezable workqueue participates in the freeze phase of the system suspend operations. Work
654 /// items on the workqueue are drained and no new work item starts execution until thawed.
663 /// `workqueue.power_efficient` kernel parameter is specified; otherwise, it is similar to the one
674 /// A freezable workqueue participates in the freeze phase of the system suspend operations. Work
675 /// items on the workqueue are drained and no new work item starts execution until thawed.