/kernel/linux/linux-5.10/kernel/ |
H A D | workqueue.c | 197 * point to the pwq; thus, pwqs need to be aligned at two's power of the 215 * Release of unbound pwq is punted to system_wq. See put_pwq() 217 * itself is also RCU protected so that the first pwq can be 255 int saved_max_active; /* WQ: saved pwq max_active */ 360 static void show_pwq(struct pool_workqueue *pwq); 415 * @pwq: iteration cursor 419 * If the pwq needs to be used beyond the locking in effect, the caller is 420 * responsible for guaranteeing that the pwq stays online. 425 #define for_each_pwq(pwq, wq) \ 426 list_for_each_entry_rcu((pwq), 620 set_work_pwq(struct work_struct *work, struct pool_workqueue *pwq, unsigned long extra_flags) set_work_pwq() argument 1100 get_pwq(struct pool_workqueue *pwq) get_pwq() argument 1114 put_pwq(struct pool_workqueue *pwq) put_pwq() argument 1138 put_pwq_unlocked(struct pool_workqueue *pwq) put_pwq_unlocked() argument 1153 struct pool_workqueue *pwq = get_work_pwq(work); pwq_activate_inactive_work() local 1163 pwq_activate_first_inactive(struct pool_workqueue *pwq) pwq_activate_first_inactive() argument 1182 pwq_dec_nr_in_flight(struct pool_workqueue *pwq, int color) pwq_dec_nr_in_flight() argument 1252 struct pool_workqueue *pwq; try_to_grab_pending() local 1338 insert_work(struct pool_workqueue *pwq, struct work_struct *work, struct list_head *head, unsigned int extra_flags) insert_work() argument 1411 struct pool_workqueue *pwq; __queue_work() local 2026 struct pool_workqueue *pwq = get_work_pwq(work); send_mayday() local 2179 struct pool_workqueue *pwq = get_work_pwq(work); global() variable 2505 struct pool_workqueue *pwq = list_first_entry(&wq->maydays, rescuer_thread() local 2663 insert_wq_barrier(struct pool_workqueue *pwq, struct wq_barrier *barr, struct work_struct *target, struct worker *worker) insert_wq_barrier() argument 2738 struct pool_workqueue *pwq; flush_workqueue_prep_pwqs() local 2946 struct pool_workqueue *pwq; drain_workqueue() local 2992 struct pool_workqueue *pwq; start_flush_work() local 3688 struct pool_workqueue *pwq = container_of(work, struct pool_workqueue, pwq_unbound_release_workfn() local 3732 pwq_adjust_max_active(struct pool_workqueue *pwq) pwq_adjust_max_active() argument 3780 init_pwq(struct pool_workqueue *pwq, struct workqueue_struct *wq, struct worker_pool *pool) init_pwq() argument 3798 link_pwq(struct pool_workqueue *pwq) link_pwq() argument 3823 struct pool_workqueue *pwq; alloc_unbound_pwq() local 3894 numa_pwq_tbl_install(struct workqueue_struct *wq, int node, struct pool_workqueue *pwq) numa_pwq_tbl_install() argument 4129 struct pool_workqueue *old_pwq = NULL, *pwq; wq_update_unbound_numa() local 4198 struct pool_workqueue *pwq = alloc_and_link_pwqs() local 4278 struct pool_workqueue *pwq; alloc_workqueue() local 4368 pwq_busy(struct pool_workqueue *pwq) pwq_busy() argument 4392 struct pool_workqueue *pwq; destroy_workqueue() local 4489 struct pool_workqueue *pwq; workqueue_set_max_active() local 4560 struct pool_workqueue *pwq; workqueue_congested() local 4657 struct pool_workqueue *pwq = NULL; print_worker_info() local 4710 show_pwq(struct pool_workqueue *pwq) show_pwq() argument 4800 struct pool_workqueue *pwq; show_workqueue_state() local 5203 struct pool_workqueue *pwq; freeze_workqueues_begin() local 5237 struct pool_workqueue *pwq; freeze_workqueues_busy() local 5278 struct pool_workqueue *pwq; thaw_workqueues() local [all...] |
/kernel/linux/linux-6.6/kernel/ |
H A D | workqueue.c | 230 * point to the pwq; thus, pwqs need to be aligned at two's power of the 245 * When pwq->nr_active >= max_active, new work item is queued to 246 * pwq->inactive_works instead of pool->worklist and marked with 250 * nr_active and all work items in pwq->inactive_works are marked with 252 * in pwq->inactive_works. Some of them are ready to run in 256 * WORK_STRUCT_INACTIVE iff it is in pwq->inactive_works. 267 * Release of unbound pwq is punted to a kthread_worker. See put_pwq() 269 * RCU protected so that the first pwq can be determined without 293 * The following struct is used to enforce per-node max_active. When a pwq wants 296 * ->max, the pwq i 734 set_work_pwq(struct work_struct *work, struct pool_workqueue *pwq, unsigned long extra_flags) set_work_pwq() argument 1389 struct pool_workqueue *pwq = worker->current_pwq; wq_worker_tick() local 1532 get_pwq(struct pool_workqueue *pwq) get_pwq() argument 1546 put_pwq(struct pool_workqueue *pwq) put_pwq() argument 1564 put_pwq_unlocked(struct pool_workqueue *pwq) put_pwq_unlocked() argument 1577 pwq_is_empty(struct pool_workqueue *pwq) pwq_is_empty() argument 1582 __pwq_activate_work(struct pool_workqueue *pwq, struct work_struct *work) __pwq_activate_work() argument 1602 pwq_activate_work(struct pool_workqueue *pwq, struct work_struct *work) pwq_activate_work() argument 1646 pwq_tryinc_nr_active(struct pool_workqueue *pwq, bool fill) pwq_tryinc_nr_active() argument 1721 pwq_activate_first_inactive(struct pool_workqueue *pwq, bool fill) pwq_activate_first_inactive() argument 1747 struct pool_workqueue *pwq; node_activate_pending_pwq() local 1823 pwq_dec_nr_active(struct pool_workqueue *pwq) pwq_dec_nr_active() argument 1877 pwq_dec_nr_in_flight(struct pool_workqueue *pwq, unsigned long work_data) pwq_dec_nr_in_flight() argument 1941 struct pool_workqueue *pwq; try_to_grab_pending() local 2030 insert_work(struct pool_workqueue *pwq, struct work_struct *work, struct list_head *head, unsigned int extra_flags) insert_work() argument 2091 struct pool_workqueue *pwq; __queue_work() local 2776 struct pool_workqueue *pwq = get_work_pwq(work); send_mayday() local 2930 struct pool_workqueue *pwq = get_work_pwq(work); global() variable 3244 struct pool_workqueue *pwq = list_first_entry(&wq->maydays, rescuer_thread() local 3396 insert_wq_barrier(struct pool_workqueue *pwq, struct wq_barrier *barr, struct work_struct *target, struct worker *worker) insert_wq_barrier() argument 3478 struct pool_workqueue *pwq; flush_workqueue_prep_pwqs() local 3686 struct pool_workqueue *pwq; drain_workqueue() local 3732 struct pool_workqueue *pwq; start_flush_work() local 4551 struct pool_workqueue *pwq = container_of(work, struct pool_workqueue, pwq_release_workfn() local 4596 init_pwq(struct pool_workqueue *pwq, struct workqueue_struct *wq, struct worker_pool *pool) init_pwq() argument 4615 link_pwq(struct pool_workqueue *pwq) link_pwq() argument 4637 struct pool_workqueue *pwq; alloc_unbound_pwq() local 4697 install_unbound_pwq(struct workqueue_struct *wq, int cpu, struct pool_workqueue *pwq) install_unbound_pwq() argument 4920 struct pool_workqueue *old_pwq = NULL, *pwq; wq_update_pod() local 5024 struct pool_workqueue *pwq = *per_cpu_ptr(wq->cpu_pwq, cpu); alloc_and_link_pwqs() local 5127 struct pool_workqueue *pwq; wq_adjust_max_active() local 5257 pwq_busy(struct pool_workqueue *pwq) pwq_busy() argument 5281 struct pool_workqueue *pwq; destroy_workqueue() local 5444 struct pool_workqueue *pwq; workqueue_congested() local 5538 struct pool_workqueue *pwq = NULL; print_worker_info() local 5621 show_pwq(struct pool_workqueue *pwq) show_pwq() argument 5703 struct pool_workqueue *pwq; show_one_workqueue() local 6222 struct pool_workqueue *pwq; freeze_workqueues_busy() local [all...] |
/kernel/linux/linux-6.6/include/trace/events/ |
H A D | workqueue.h | 16 * @pwq: pointer to struct pool_workqueue 25 TP_PROTO(int req_cpu, struct pool_workqueue *pwq, 28 TP_ARGS(req_cpu, pwq, work), 33 __string( workqueue, pwq->wq->name) 41 __assign_str(workqueue, pwq->wq->name); 43 __entry->cpu = pwq->pool->cpu;
|
/kernel/linux/linux-5.10/include/trace/events/ |
H A D | workqueue.h | 16 * @pwq: pointer to struct pool_workqueue 25 TP_PROTO(unsigned int req_cpu, struct pool_workqueue *pwq, 28 TP_ARGS(req_cpu, pwq, work), 41 __entry->workqueue = pwq->wq; 43 __entry->cpu = pwq->pool->cpu;
|
/kernel/linux/linux-5.10/fs/ |
H A D | select.c | 121 void poll_initwait(struct poll_wqueues *pwq) in poll_initwait() argument 123 init_poll_funcptr(&pwq->pt, __pollwait); in poll_initwait() 124 pwq->polling_task = current; in poll_initwait() 125 pwq->triggered = 0; in poll_initwait() 126 pwq->error = 0; in poll_initwait() 127 pwq->table = NULL; in poll_initwait() 128 pwq->inline_index = 0; in poll_initwait() 138 void poll_freewait(struct poll_wqueues *pwq) in poll_freewait() argument 140 struct poll_table_page * p = pwq->table; in poll_freewait() 142 for (i = 0; i < pwq in poll_freewait() 186 struct poll_wqueues *pwq = wait->private; __pollwake() local 224 struct poll_wqueues *pwq = container_of(p, struct poll_wqueues, pt); __pollwait() local 236 poll_schedule_timeout(struct poll_wqueues *pwq, int state, ktime_t *expires, unsigned long slack) poll_schedule_timeout() argument [all...] |
H A D | eventpoll.c | 598 static void ep_remove_wait_queue(struct eppoll_entry *pwq) in ep_remove_wait_queue() argument 609 whead = smp_load_acquire(&pwq->whead); in ep_remove_wait_queue() 611 remove_wait_queue(whead, &pwq->wait); in ep_remove_wait_queue() 623 struct eppoll_entry *pwq; in ep_unregister_pollwait() local 626 pwq = list_first_entry(lsthead, struct eppoll_entry, llink); in ep_unregister_pollwait() 628 list_del(&pwq->llink); in ep_unregister_pollwait() 629 ep_remove_wait_queue(pwq); in ep_unregister_pollwait() 630 kmem_cache_free(pwq_cache, pwq); in ep_unregister_pollwait() 1321 struct eppoll_entry *pwq; in ep_ptable_queue_proc() local 1323 if (epi->nwait >= 0 && (pwq in ep_ptable_queue_proc() [all...] |
/kernel/linux/linux-6.6/fs/ |
H A D | select.c | 122 void poll_initwait(struct poll_wqueues *pwq) in poll_initwait() argument 124 init_poll_funcptr(&pwq->pt, __pollwait); in poll_initwait() 125 pwq->polling_task = current; in poll_initwait() 126 pwq->triggered = 0; in poll_initwait() 127 pwq->error = 0; in poll_initwait() 128 pwq->table = NULL; in poll_initwait() 129 pwq->inline_index = 0; in poll_initwait() 139 void poll_freewait(struct poll_wqueues *pwq) in poll_freewait() argument 141 struct poll_table_page * p = pwq->table; in poll_freewait() 143 for (i = 0; i < pwq in poll_freewait() 187 struct poll_wqueues *pwq = wait->private; __pollwake() local 225 struct poll_wqueues *pwq = container_of(p, struct poll_wqueues, pt); __pollwait() local 237 poll_schedule_timeout(struct poll_wqueues *pwq, int state, ktime_t *expires, unsigned long slack) poll_schedule_timeout() argument [all...] |
H A D | eventpoll.c | 546 static void ep_remove_wait_queue(struct eppoll_entry *pwq) in ep_remove_wait_queue() argument 557 whead = smp_load_acquire(&pwq->whead); in ep_remove_wait_queue() 559 remove_wait_queue(whead, &pwq->wait); in ep_remove_wait_queue() 570 struct eppoll_entry *pwq; in ep_unregister_pollwait() local 572 while ((pwq = *p) != NULL) { in ep_unregister_pollwait() 573 *p = pwq->next; in ep_unregister_pollwait() 574 ep_remove_wait_queue(pwq); in ep_unregister_pollwait() 575 kmem_cache_free(pwq_cache, pwq); in ep_unregister_pollwait() 1277 struct eppoll_entry *pwq; in ep_ptable_queue_proc() local 1282 pwq in ep_ptable_queue_proc() [all...] |
/kernel/linux/linux-5.10/include/linux/ |
H A D | poll.h | 113 extern void poll_initwait(struct poll_wqueues *pwq); 114 extern void poll_freewait(struct poll_wqueues *pwq);
|
/kernel/linux/linux-6.6/include/linux/ |
H A D | poll.h | 107 extern void poll_initwait(struct poll_wqueues *pwq); 108 extern void poll_freewait(struct poll_wqueues *pwq);
|
/kernel/linux/linux-6.6/tools/workqueue/ |
H A D | wq_monitor.py | 82 for pwq in list_for_each_entry('struct pool_workqueue', wq.pwqs.address_of_(), 'pwqs_node'): 84 self.stats[i] += int(pwq.stats[i])
|