/Linux-v5.4/virt/kvm/ |
D | async_pf.c | 21 struct kvm_async_pf *work) in kvm_async_page_present_sync() argument 24 kvm_arch_async_page_present(vcpu, work); in kvm_async_page_present_sync() 28 struct kvm_async_pf *work) in kvm_async_page_present_async() argument 31 kvm_arch_async_page_present(vcpu, work); in kvm_async_page_present_async() 60 static void async_pf_execute(struct work_struct *work) in async_pf_execute() argument 63 container_of(work, struct kvm_async_pf, work); in async_pf_execute() 110 struct kvm_async_pf *work = in kvm_clear_async_pf_completion_queue() local 112 typeof(*work), queue); in kvm_clear_async_pf_completion_queue() 113 list_del(&work->queue); in kvm_clear_async_pf_completion_queue() 119 if (!work->vcpu) in kvm_clear_async_pf_completion_queue() [all …]
|
/Linux-v5.4/drivers/gpu/drm/ |
D | drm_flip_work.c | 57 void drm_flip_work_queue_task(struct drm_flip_work *work, in drm_flip_work_queue_task() argument 62 spin_lock_irqsave(&work->lock, flags); in drm_flip_work_queue_task() 63 list_add_tail(&task->node, &work->queued); in drm_flip_work_queue_task() 64 spin_unlock_irqrestore(&work->lock, flags); in drm_flip_work_queue_task() 76 void drm_flip_work_queue(struct drm_flip_work *work, void *val) in drm_flip_work_queue() argument 83 drm_flip_work_queue_task(work, task); in drm_flip_work_queue() 85 DRM_ERROR("%s could not allocate task!\n", work->name); in drm_flip_work_queue() 86 work->func(work, val); in drm_flip_work_queue() 101 void drm_flip_work_commit(struct drm_flip_work *work, in drm_flip_work_commit() argument 106 spin_lock_irqsave(&work->lock, flags); in drm_flip_work_commit() [all …]
|
/Linux-v5.4/include/trace/events/ |
D | workqueue.h | 13 TP_PROTO(struct work_struct *work), 15 TP_ARGS(work), 18 __field( void *, work ) 22 __entry->work = work; 25 TP_printk("work struct %p", __entry->work) 43 struct work_struct *work), 45 TP_ARGS(req_cpu, pwq, work), 48 __field( void *, work ) 56 __entry->work = work; 57 __entry->function = work->func; [all …]
|
/Linux-v5.4/kernel/ |
D | task_work.c | 28 task_work_add(struct task_struct *task, struct callback_head *work, bool notify) in task_work_add() argument 36 work->next = head; in task_work_add() 37 } while (cmpxchg(&task->task_works, head, work) != head); in task_work_add() 59 struct callback_head *work; in task_work_cancel() local 71 while ((work = READ_ONCE(*pprev))) { in task_work_cancel() 72 if (work->func != func) in task_work_cancel() 73 pprev = &work->next; in task_work_cancel() 74 else if (cmpxchg(pprev, work, work->next) == work) in task_work_cancel() 79 return work; in task_work_cancel() 93 struct callback_head *work, *head, *next; in task_work_run() local [all …]
|
D | irq_work.c | 30 static bool irq_work_claim(struct irq_work *work) in irq_work_claim() argument 38 flags = work->flags & ~IRQ_WORK_PENDING; in irq_work_claim() 41 oflags = cmpxchg(&work->flags, flags, nflags); in irq_work_claim() 61 static void __irq_work_queue_local(struct irq_work *work) in __irq_work_queue_local() argument 64 if (work->flags & IRQ_WORK_LAZY) { in __irq_work_queue_local() 65 if (llist_add(&work->llnode, this_cpu_ptr(&lazy_list)) && in __irq_work_queue_local() 69 if (llist_add(&work->llnode, this_cpu_ptr(&raised_list))) in __irq_work_queue_local() 75 bool irq_work_queue(struct irq_work *work) in irq_work_queue() argument 78 if (!irq_work_claim(work)) in irq_work_queue() 83 __irq_work_queue_local(work); in irq_work_queue() [all …]
|
D | kthread.c | 636 struct kthread_work *work; in kthread_worker_fn() local 659 work = NULL; in kthread_worker_fn() 662 work = list_first_entry(&worker->work_list, in kthread_worker_fn() 664 list_del_init(&work->node); in kthread_worker_fn() 666 worker->current_work = work; in kthread_worker_fn() 669 if (work) { in kthread_worker_fn() 671 work->func(work); in kthread_worker_fn() 777 struct kthread_work *work) in queuing_blocked() argument 781 return !list_empty(&work->node) || work->canceling; in queuing_blocked() 785 struct kthread_work *work) in kthread_insert_work_sanity_check() argument [all …]
|
D | workqueue.c | 443 struct work_struct *work = addr; in work_is_static_object() local 445 return test_bit(WORK_STRUCT_STATIC_BIT, work_data_bits(work)); in work_is_static_object() 454 struct work_struct *work = addr; in work_fixup_init() local 458 cancel_work_sync(work); in work_fixup_init() 459 debug_object_init(work, &work_debug_descr); in work_fixup_init() 472 struct work_struct *work = addr; in work_fixup_free() local 476 cancel_work_sync(work); in work_fixup_free() 477 debug_object_free(work, &work_debug_descr); in work_fixup_free() 492 static inline void debug_work_activate(struct work_struct *work) in debug_work_activate() argument 494 debug_object_activate(work, &work_debug_descr); in debug_work_activate() [all …]
|
/Linux-v5.4/include/linux/ |
D | completion.h | 36 #define COMPLETION_INITIALIZER(work) \ argument 37 { 0, __WAIT_QUEUE_HEAD_INITIALIZER((work).wait) } 39 #define COMPLETION_INITIALIZER_ONSTACK_MAP(work, map) \ argument 40 (*({ init_completion_map(&(work), &(map)); &(work); })) 42 #define COMPLETION_INITIALIZER_ONSTACK(work) \ argument 43 (*({ init_completion(&work); &work; })) 53 #define DECLARE_COMPLETION(work) \ argument 54 struct completion work = COMPLETION_INITIALIZER(work) 69 # define DECLARE_COMPLETION_ONSTACK(work) \ argument 70 struct completion work = COMPLETION_INITIALIZER_ONSTACK(work) [all …]
|
D | workqueue.h | 21 typedef void (*work_func_t)(struct work_struct *work); 28 #define work_data_bits(work) ((unsigned long *)(&(work)->data)) argument 116 struct work_struct work; member 125 struct work_struct work; member 158 static inline struct delayed_work *to_delayed_work(struct work_struct *work) in to_delayed_work() argument 160 return container_of(work, struct delayed_work, work); in to_delayed_work() 163 static inline struct rcu_work *to_rcu_work(struct work_struct *work) in to_rcu_work() argument 165 return container_of(work, struct rcu_work, work); in to_rcu_work() 169 struct work_struct work; member 192 .work = __WORK_INITIALIZER((n).work, (f)), \ [all …]
|
D | jump_label_ratelimit.h | 12 struct delayed_work work; member 18 struct delayed_work work; member 24 struct delayed_work work; member 28 __static_key_slow_dec_deferred(&(x)->key, &(x)->work, (x)->timeout) 30 __static_key_slow_dec_deferred(&(x)->key.key, &(x)->work, (x)->timeout) 33 __static_key_deferred_flush((x), &(x)->work) 37 struct delayed_work *work, 39 extern void __static_key_deferred_flush(void *key, struct delayed_work *work); 43 extern void jump_label_update_timeout(struct work_struct *work); 49 .work = __DELAYED_WORK_INITIALIZER((name).work, \ [all …]
|
D | kthread.h | 79 typedef void (*kthread_work_func_t)(struct kthread_work *work); 104 struct kthread_work work; member 114 #define KTHREAD_WORK_INIT(work, fn) { \ argument 115 .node = LIST_HEAD_INIT((work).node), \ 120 .work = KTHREAD_WORK_INIT((dwork).work, (fn)), \ 128 #define DEFINE_KTHREAD_WORK(work, fn) \ argument 129 struct kthread_work work = KTHREAD_WORK_INIT(work, fn) 157 #define kthread_init_work(work, fn) \ argument 159 memset((work), 0, sizeof(struct kthread_work)); \ 160 INIT_LIST_HEAD(&(work)->node); \ [all …]
|
/Linux-v5.4/fs/btrfs/ |
D | async-thread.c | 56 static void normal_work_helper(struct btrfs_work *work); 61 struct btrfs_work *work = container_of(arg, struct btrfs_work, \ 63 normal_work_helper(work); \ 73 btrfs_work_owner(const struct btrfs_work *work) in btrfs_work_owner() argument 75 return work->wq->fs_info; in btrfs_work_owner() 258 struct btrfs_work *work; in run_ordered_work() local 268 work = list_entry(list->next, struct btrfs_work, in run_ordered_work() 270 if (!test_bit(WORK_DONE_BIT, &work->flags)) in run_ordered_work() 279 if (test_and_set_bit(WORK_ORDER_DONE_BIT, &work->flags)) in run_ordered_work() 281 trace_btrfs_ordered_sched(work); in run_ordered_work() [all …]
|
/Linux-v5.4/drivers/staging/octeon/ |
D | ethernet-rx.c | 63 static inline int cvm_oct_check_rcv_error(cvmx_wqe_t *work) in cvm_oct_check_rcv_error() argument 68 port = work->word0.pip.cn68xx.pknd; in cvm_oct_check_rcv_error() 70 port = work->word1.cn38xx.ipprt; in cvm_oct_check_rcv_error() 72 if ((work->word2.snoip.err_code == 10) && (work->word1.len <= 64)) { in cvm_oct_check_rcv_error() 79 } else if (work->word2.snoip.err_code == 5 || in cvm_oct_check_rcv_error() 80 work->word2.snoip.err_code == 7) { in cvm_oct_check_rcv_error() 97 cvmx_phys_to_ptr(work->packet_ptr.s.addr); in cvm_oct_check_rcv_error() 100 while (i < work->word1.len - 1) { in cvm_oct_check_rcv_error() 109 work->packet_ptr.s.addr += i + 1; in cvm_oct_check_rcv_error() 110 work->word1.len -= i + 5; in cvm_oct_check_rcv_error() [all …]
|
D | ethernet-tx.c | 517 cvmx_wqe_t *work = cvmx_fpa_alloc(CVMX_FPA_WQE_POOL); in cvm_oct_xmit_pow() local 519 if (unlikely(!work)) { in cvm_oct_xmit_pow() 532 cvmx_fpa_free(work, CVMX_FPA_WQE_POOL, 1); in cvm_oct_xmit_pow() 562 work->word0.pip.cn38xx.hw_chksum = skb->csum; in cvm_oct_xmit_pow() 563 work->word1.len = skb->len; in cvm_oct_xmit_pow() 564 cvmx_wqe_set_port(work, priv->port); in cvm_oct_xmit_pow() 565 cvmx_wqe_set_qos(work, priv->port & 0x7); in cvm_oct_xmit_pow() 566 cvmx_wqe_set_grp(work, pow_send_group); in cvm_oct_xmit_pow() 567 work->word1.tag_type = CVMX_HELPER_INPUT_TAG_TYPE; in cvm_oct_xmit_pow() 568 work->word1.tag = pow_send_group; /* FIXME */ in cvm_oct_xmit_pow() [all …]
|
/Linux-v5.4/drivers/gpu/drm/amd/amdgpu/ |
D | amdgpu_display.c | 46 struct amdgpu_flip_work *work = in amdgpu_display_flip_callback() local 50 schedule_work(&work->flip_work.work); in amdgpu_display_flip_callback() 53 static bool amdgpu_display_flip_handle_fence(struct amdgpu_flip_work *work, in amdgpu_display_flip_handle_fence() argument 63 if (!dma_fence_add_callback(fence, &work->cb, in amdgpu_display_flip_handle_fence() 74 container_of(__work, struct delayed_work, work); in amdgpu_display_flip_work_func() 75 struct amdgpu_flip_work *work = in amdgpu_display_flip_work_func() local 77 struct amdgpu_device *adev = work->adev; in amdgpu_display_flip_work_func() 78 struct amdgpu_crtc *amdgpu_crtc = adev->mode_info.crtcs[work->crtc_id]; in amdgpu_display_flip_work_func() 85 if (amdgpu_display_flip_handle_fence(work, &work->excl)) in amdgpu_display_flip_work_func() 88 for (i = 0; i < work->shared_count; ++i) in amdgpu_display_flip_work_func() [all …]
|
/Linux-v5.4/drivers/staging/speakup/ |
D | selection.c | 20 struct work_struct work; member 32 static void __speakup_set_selection(struct work_struct *work) in __speakup_set_selection() argument 35 container_of(work, struct speakup_selection_work, work); in __speakup_set_selection() 63 .work = __WORK_INITIALIZER(speakup_sel_work.work, 92 schedule_work_on(WORK_CPU_UNBOUND, &speakup_sel_work.work); in speakup_set_selection() 101 cancel_work_sync(&speakup_sel_work.work); in speakup_cancel_selection() 111 static void __speakup_paste_selection(struct work_struct *work) in __speakup_paste_selection() argument 114 container_of(work, struct speakup_selection_work, work); in __speakup_paste_selection() 122 .work = __WORK_INITIALIZER(speakup_paste_work.work, 134 schedule_work_on(WORK_CPU_UNBOUND, &speakup_paste_work.work); in speakup_paste_selection() [all …]
|
/Linux-v5.4/drivers/net/wireless/st/cw1200/ |
D | sta.h | 58 void cw1200_event_handler(struct work_struct *work); 59 void cw1200_bss_loss_work(struct work_struct *work); 60 void cw1200_bss_params_work(struct work_struct *work); 61 void cw1200_keep_alive_work(struct work_struct *work); 62 void cw1200_tx_failure_work(struct work_struct *work); 78 void cw1200_join_timeout(struct work_struct *work); 79 void cw1200_unjoin_work(struct work_struct *work); 80 void cw1200_join_complete_work(struct work_struct *work); 81 void cw1200_wep_key_work(struct work_struct *work); 84 void cw1200_update_filtering_work(struct work_struct *work); [all …]
|
/Linux-v5.4/fs/ |
D | fs-writeback.c | 161 struct wb_writeback_work *work) in finish_writeback_work() argument 163 struct wb_completion *done = work->done; in finish_writeback_work() 165 if (work->auto_free) in finish_writeback_work() 166 kfree(work); in finish_writeback_work() 177 struct wb_writeback_work *work) in wb_queue_work() argument 179 trace_writeback_queue(wb, work); in wb_queue_work() 181 if (work->done) in wb_queue_work() 182 atomic_inc(&work->done->cnt); in wb_queue_work() 187 list_add_tail(&work->list, &wb->work_list); in wb_queue_work() 190 finish_writeback_work(wb, work); in wb_queue_work() [all …]
|
/Linux-v5.4/drivers/gpu/drm/i915/gem/ |
D | i915_gem_client_blt.c | 97 struct work_struct work; member 132 static void clear_pages_signal_irq_worker(struct irq_work *work) in clear_pages_signal_irq_worker() argument 134 struct clear_pages_work *w = container_of(work, typeof(*w), irq_work); in clear_pages_signal_irq_worker() 155 static void clear_pages_worker(struct work_struct *work) in clear_pages_worker() argument 157 struct clear_pages_work *w = container_of(work, typeof(*w), work); in clear_pages_worker() 250 schedule_work(&w->work); in clear_pages_work_notify() 270 struct clear_pages_work *work; in i915_gem_schedule_fill_pages_blt() local 278 work = kmalloc(sizeof(*work), GFP_KERNEL); in i915_gem_schedule_fill_pages_blt() 279 if (!work) { in i915_gem_schedule_fill_pages_blt() 284 work->value = value; in i915_gem_schedule_fill_pages_blt() [all …]
|
D | i915_gem_userptr.c | 26 struct work_struct work; member 389 __i915_mm_struct_free__worker(struct work_struct *work) in __i915_mm_struct_free__worker() argument 391 struct i915_mm_struct *mm = container_of(work, typeof(*mm), work); in __i915_mm_struct_free__worker() 406 INIT_WORK(&mm->work, __i915_mm_struct_free__worker); in __i915_mm_struct_free() 407 queue_work(mm->i915->mm.userptr_wq, &mm->work); in __i915_mm_struct_free() 423 struct work_struct work; member 474 struct get_pages_work *work = container_of(_work, typeof(*work), work); in __i915_gem_userptr_get_pages_worker() local 475 struct drm_i915_gem_object *obj = work->obj; in __i915_gem_userptr_get_pages_worker() 496 (work->task, mm, in __i915_gem_userptr_get_pages_worker() 512 if (obj->userptr.work == &work->work) { in __i915_gem_userptr_get_pages_worker() [all …]
|
/Linux-v5.4/drivers/infiniband/core/ |
D | cm.c | 238 struct delayed_work work; member 249 struct cm_work work; /* Must be first. */ member 307 static void cm_work_handler(struct work_struct *work); 740 __be32 remote_id = timewait_info->work.remote_id; in cm_insert_remote_id() 746 if (be32_lt(remote_id, cur_timewait_info->work.remote_id)) in cm_insert_remote_id() 748 else if (be32_gt(remote_id, cur_timewait_info->work.remote_id)) in cm_insert_remote_id() 772 if (be32_lt(remote_id, timewait_info->work.remote_id)) in cm_find_remote_id() 774 else if (be32_gt(remote_id, timewait_info->work.remote_id)) in cm_find_remote_id() 897 struct cm_work *work; in cm_dequeue_work() local 902 work = list_entry(cm_id_priv->work_list.next, struct cm_work, list); in cm_dequeue_work() [all …]
|
/Linux-v5.4/lib/ |
D | once.c | 8 struct work_struct work; member 14 struct once_work *work; in once_deferred() local 16 work = container_of(w, struct once_work, work); in once_deferred() 17 BUG_ON(!static_key_enabled(work->key)); in once_deferred() 18 static_branch_disable(work->key); in once_deferred() 19 kfree(work); in once_deferred() 30 INIT_WORK(&w->work, once_deferred); in once_disable_jump() 32 schedule_work(&w->work); in once_disable_jump()
|
/Linux-v5.4/kernel/locking/ |
D | test-ww_mutex.c | 20 struct work_struct work; member 31 static void test_mutex_work(struct work_struct *work) in test_mutex_work() argument 33 struct test_mutex *mtx = container_of(work, typeof(*mtx), work); in test_mutex_work() 58 INIT_WORK_ONSTACK(&mtx.work, test_mutex_work); in __test_mutex() 64 schedule_work(&mtx.work); in __test_mutex() 92 flush_work(&mtx.work); in __test_mutex() 93 destroy_work_on_stack(&mtx.work); in __test_mutex() 148 struct work_struct work; member 157 static void test_abba_work(struct work_struct *work) in test_abba_work() argument 159 struct test_abba *abba = container_of(work, typeof(*abba), work); in test_abba_work() [all …]
|
/Linux-v5.4/arch/sparc/kernel/ |
D | sun4d_smp.c | 196 struct sun4d_ipi_work *work; in smp4d_ipi_init() local 201 work = &per_cpu(sun4d_ipi_work, cpu); in smp4d_ipi_init() 202 work->single = work->msk = work->resched = 0; in smp4d_ipi_init() 208 struct sun4d_ipi_work *work = this_cpu_ptr(&sun4d_ipi_work); in sun4d_ipi_interrupt() local 210 if (work->single) { in sun4d_ipi_interrupt() 211 work->single = 0; in sun4d_ipi_interrupt() 214 if (work->msk) { in sun4d_ipi_interrupt() 215 work->msk = 0; in sun4d_ipi_interrupt() 218 if (work->resched) { in sun4d_ipi_interrupt() 219 work->resched = 0; in sun4d_ipi_interrupt() [all …]
|
/Linux-v5.4/drivers/md/ |
D | dm-cache-background-tracker.c | 16 struct policy_work work; member 90 cmp = cmp_oblock(w->work.oblock, nw->work.oblock); in __insert_pending() 118 cmp = cmp_oblock(w->work.oblock, oblock); in __find_pending() 178 struct policy_work *work, in btracker_queue() argument 190 memcpy(&w->work, work, sizeof(*work)); in btracker_queue() 202 *pwork = &w->work; in btracker_queue() 206 update_stats(b, &w->work, 1); in btracker_queue() 215 int btracker_issue(struct background_tracker *b, struct policy_work **work) in btracker_issue() argument 224 *work = &w->work; in btracker_issue() 233 struct bt_work *w = container_of(op, struct bt_work, work); in btracker_complete() [all …]
|