Home
last modified time | relevance | path

Searched full:wait (Results 1 – 25 of 3346) sorted by relevance

12345678910>>...134

/linux/drivers/infiniband/hw/hfi1/
H A Diowait.c12 void iowait_set_flag(struct iowait *wait, u32 flag) in iowait_set_flag() argument
14 trace_hfi1_iowait_set(wait, flag); in iowait_set_flag()
15 set_bit(flag, &wait->flags); in iowait_set_flag()
18 bool iowait_flag_set(struct iowait *wait, u32 flag) in iowait_flag_set() argument
20 return test_bit(flag, &wait->flags); in iowait_flag_set()
23 inline void iowait_clear_flag(struct iowait *wait, u32 flag) in iowait_clear_flag() argument
25 trace_hfi1_iowait_clear(wait, flag); in iowait_clear_flag()
26 clear_bit(flag, &wait->flags); in iowait_clear_flag()
30 * iowait_init() - initialize wait structure
31 * @wait: wait struct to initialize
[all …]
H A Dtrace_iowait.h17 TP_PROTO(struct iowait *wait, u32 flag),
18 TP_ARGS(wait, flag),
26 __entry->addr = (unsigned long)wait;
27 __entry->flags = wait->flags;
29 __entry->qpn = iowait_to_qp(wait)->ibqp.qp_num;
41 TP_PROTO(struct iowait *wait, u32 flag),
42 TP_ARGS(wait, flag));
45 TP_PROTO(struct iowait *wait, u32 flag),
46 TP_ARGS(wait, flag));
/linux/drivers/gpu/drm/nouveau/nvif/
H A Dtimer.c26 nvif_timer_wait_test(struct nvif_timer_wait *wait) in nvif_timer_wait_test() argument
28 u64 time = nvif_device_time(wait->device); in nvif_timer_wait_test()
30 if (wait->reads == 0) { in nvif_timer_wait_test()
31 wait->time0 = time; in nvif_timer_wait_test()
32 wait->time1 = time; in nvif_timer_wait_test()
35 if (wait->time1 == time) { in nvif_timer_wait_test()
36 if (WARN_ON(wait->reads++ == 16)) in nvif_timer_wait_test()
39 wait->time1 = time; in nvif_timer_wait_test()
40 wait->reads = 1; in nvif_timer_wait_test()
43 if (wait->time1 - wait->time0 > wait->limit) in nvif_timer_wait_test()
[all …]
/linux/arch/mips/kernel/
H A Didle.c3 * MIPS idle loop and WAIT instruction support.
23 * Not all of the MIPS CPUs have the "wait" instruction available. Moreover,
24 * the implementation of the "wait" feature differs between CPU families. This
25 * points to the function that implements CPU specific wait.
26 * The wait instruction stops the pipeline and reduces the power consumption of
51 " wait \n" in r4k_wait_irqoff()
57 * have any pending stores when the WAIT instruction is executed.
69 " wait \n" in rm7k_wait_irqoff()
75 * Au1 'wait' is only useful when the 32kHz counter is used as timer,
90 " wait \n" in au1k_wait()
[all …]
/linux/fs/
H A Dfs_pin.c16 spin_lock_irq(&pin->wait.lock); in pin_remove()
18 wake_up_locked(&pin->wait); in pin_remove()
19 spin_unlock_irq(&pin->wait.lock); in pin_remove()
32 wait_queue_entry_t wait; in pin_kill() local
38 init_wait(&wait); in pin_kill()
39 spin_lock_irq(&p->wait.lock); in pin_kill()
42 spin_unlock_irq(&p->wait.lock); in pin_kill()
48 spin_unlock_irq(&p->wait.lock); in pin_kill()
52 __add_wait_queue(&p->wait, &wait); in pin_kill()
55 spin_unlock_irq(&p->wait.lock); in pin_kill()
[all …]
/linux/kernel/sched/
H A Dswait.c3 * <linux/swait.h> (simple wait queues ) implementation:
85 void __prepare_to_swait(struct swait_queue_head *q, struct swait_queue *wait) in __prepare_to_swait() argument
87 wait->task = current; in __prepare_to_swait()
88 if (list_empty(&wait->task_list)) in __prepare_to_swait()
89 list_add_tail(&wait->task_list, &q->task_list); in __prepare_to_swait()
92 void prepare_to_swait_exclusive(struct swait_queue_head *q, struct swait_queue *wait, int state) in prepare_to_swait_exclusive() argument
97 __prepare_to_swait(q, wait); in prepare_to_swait_exclusive()
103 long prepare_to_swait_event(struct swait_queue_head *q, struct swait_queue *wait, int state) in prepare_to_swait_event() argument
114 list_del_init(&wait->task_list); in prepare_to_swait_event()
117 __prepare_to_swait(q, wait); in prepare_to_swait_event()
[all …]
H A Dcompletion.c4 * Generic wait-for-completion handler;
25 raw_spin_lock_irqsave(&x->wait.lock, flags); in complete_with_flags()
29 swake_up_locked(&x->wait, wake_flags); in complete_with_flags()
30 raw_spin_unlock_irqrestore(&x->wait.lock, flags); in complete_with_flags()
78 raw_spin_lock_irqsave(&x->wait.lock, flags); in complete_all()
80 swake_up_all_locked(&x->wait); in complete_all()
81 raw_spin_unlock_irqrestore(&x->wait.lock, flags); in complete_all()
90 DECLARE_SWAITQUEUE(wait); in do_wait_for_common()
97 __prepare_to_swait(&x->wait, &wait); in do_wait_for_common()
99 raw_spin_unlock_irq(&x->wait.lock); in do_wait_for_common()
[all …]
H A Dwait.c237 * Note: we use "set_current_state()" _after_ the wait-queue add,
239 * wake-function that tests for the wait-queue being active
327 * Note! These two wait functions are entered with the
328 * wait-queue lock held (and interrupts off in the _irq
330 * condition in the caller before they add the wait
333 int do_wait_intr(wait_queue_head_t *wq, wait_queue_entry_t *wait) in do_wait_intr()
335 if (likely(list_empty(&wait->entry))) in do_wait_intr()
336 __add_wait_queue_entry_tail(wq, wait); in do_wait_intr()
350 int do_wait_intr_irq(wait_queue_head_t *wq, wait_queue_entry_t *wait) in do_wait_intr_irq()
352 if (likely(list_empty(&wait in do_wait_intr_irq()
332 do_wait_intr(wait_queue_head_t * wq,wait_queue_entry_t * wait) do_wait_intr() argument
349 do_wait_intr_irq(wait_queue_head_t * wq,wait_queue_entry_t * wait) do_wait_intr_irq() argument
[all...]
/linux/drivers/gpu/drm/nouveau/nvkm/subdev/timer/
H A Dbase.c27 nvkm_timer_wait_test(struct nvkm_timer_wait *wait) in nvkm_timer_wait_test() argument
29 struct nvkm_subdev *subdev = &wait->tmr->subdev; in nvkm_timer_wait_test()
30 u64 time = nvkm_timer_read(wait->tmr); in nvkm_timer_wait_test()
32 if (wait->reads == 0) { in nvkm_timer_wait_test()
33 wait->time0 = time; in nvkm_timer_wait_test()
34 wait->time1 = time; in nvkm_timer_wait_test()
37 if (wait->time1 == time) { in nvkm_timer_wait_test()
38 if (wait->reads++ == 16) { in nvkm_timer_wait_test()
43 wait->time1 = time; in nvkm_timer_wait_test()
44 wait->reads = 1; in nvkm_timer_wait_test()
[all …]
/linux/drivers/gpu/drm/omapdrm/
H A Domap_irq.c23 struct omap_irq_wait *wait; in omap_irq_update() local
28 list_for_each_entry(wait, &priv->wait_list, node) in omap_irq_update()
29 irqmask |= wait->irqmask; in omap_irq_update()
36 static void omap_irq_wait_handler(struct omap_irq_wait *wait) in omap_irq_wait_handler() argument
38 wait->count--; in omap_irq_wait_handler()
39 wake_up(&wait->wq); in omap_irq_wait_handler()
46 struct omap_irq_wait *wait = kzalloc_obj(*wait); in omap_irq_wait_init() local
49 init_waitqueue_head(&wait->wq); in omap_irq_wait_init()
50 wait->irqmask = irqmask; in omap_irq_wait_init()
51 wait->count = count; in omap_irq_wait_init()
[all …]
/linux/drivers/net/wireless/ath/ath12k/
H A Dpeer.c13 struct ath12k_peer_delete_wait *wait, in ath12k_peer_delete_wait_register() argument
16 wait->vdev_id = vdev_id; in ath12k_peer_delete_wait_register()
17 ether_addr_copy(wait->addr, addr); in ath12k_peer_delete_wait_register()
18 init_completion(&wait->done); in ath12k_peer_delete_wait_register()
21 list_add(&wait->list, &ar->peer_delete_waits); in ath12k_peer_delete_wait_register()
26 struct ath12k_peer_delete_wait *wait) in ath12k_peer_delete_wait_unregister() argument
29 list_del(&wait->list); in ath12k_peer_delete_wait_unregister()
35 struct ath12k_peer_delete_wait *wait; in ath12k_peer_delete_resp_signal() local
39 list_for_each_entry(wait, &ar->peer_delete_waits, list) { in ath12k_peer_delete_resp_signal()
40 if (wait->vdev_id == vdev_id && in ath12k_peer_delete_resp_signal()
[all …]
/linux/include/linux/
H A Dswait.h8 #include <linux/wait.h>
12 * Simple waitqueues are semantically very different to regular wait queues
13 * (wait.h). The most important difference is that the simple waitqueue allows
36 * For all the above, note that simple wait queues should _only_ be used under
38 * wait queues in most cases.
92 * returns true if the wait list is not empty
105 * @cond = true; prepare_to_swait_exclusive(&wq_head, &wait, state);
111 * finish_swait(&wq_head, &wait);
115 * observe an empty wait list while the waiter might not observe @cond.
138 * modifications to the wait queue (task_list). in swq_has_sleeper()
[all …]
H A Dumh.h14 #define UMH_NO_WAIT 0x00 /* don't wait at all */
15 #define UMH_WAIT_EXEC 0x01 /* wait for the exec, but not the process */
16 #define UMH_WAIT_PROC 0x02 /* wait for the process to complete */
17 #define UMH_KILLABLE 0x04 /* wait for EXEC/PROC killable */
18 #define UMH_FREEZABLE 0x08 /* wait for EXEC/PROC freezable */
26 int wait; member
34 call_usermodehelper(const char *path, char **argv, char **envp, int wait);
43 call_usermodehelper_exec(struct subprocess_info *info, int wait);
/linux/fs/f2fs/
H A Dgc.h16 #define DEF_GC_THREAD_NOGC_SLEEP_TIME 300000 /* wait 5 min */
64 * will wait on this wait queue.
146 unsigned int *wait) in increase_sleep_time() argument
151 if (*wait == gc_th->no_gc_sleep_time) in increase_sleep_time()
154 if ((long long)*wait + (long long)min_time > (long long)max_time) in increase_sleep_time()
155 *wait = max_time; in increase_sleep_time()
157 *wait += min_time; in increase_sleep_time()
161 unsigned int *wait) in decrease_sleep_time() argument
165 if (*wait == gc_th->no_gc_sleep_time) in decrease_sleep_time()
166 *wait = gc_th->max_sleep_time; in decrease_sleep_time()
[all …]
/linux/Documentation/locking/
H A Dww-mutex-design.rst2 Wound/Wait Deadlock-Proof Mutex Design
5 Please read mutex-design.rst first, as it applies to wait/wound mutexes too.
14 a handful of situations where the driver needs to wait for buffers to
37 and the deadlock handling approach is called Wait-Die. The name is based on
41 and dies. Hence Wait-Die.
42 There is also another algorithm called Wound-Wait:
46 transaction. Hence Wound-Wait.
48 However, the Wound-Wait algorithm is typically stated to generate fewer backoffs
49 compared to Wait-Die, but is, on the other hand, associated with more work than
50 Wait-Die when recovering from a backoff. Wound-Wait is also a preemptive
[all …]
/linux/fs/autofs/
H A Dwaitq.c29 sbi->queues = NULL; /* Erase all wait queues */ in autofs_catatonic_mode()
92 pr_debug("wait id = 0x%08lx, name = %.*s, type=%d\n", in autofs_notify_daemon()
199 * found or NULL to idicate a new wait needs to be created.
202 static int validate_request(struct autofs_wait_queue **wait, in validate_request() argument
214 /* Wait in progress, continue; */ in validate_request()
217 *wait = wq; in validate_request()
221 *wait = NULL; in validate_request()
229 * If we've been asked to wait on an existing expire (NFY_NONE) in validate_request()
230 * but there is no wait in the queue ... in validate_request()
235 * wait or it finished while we waited on the mutex. in validate_request()
[all …]
/linux/drivers/gpu/drm/nouveau/nvkm/core/
H A Devent.c98 nvkm_event_ntfy_block_(struct nvkm_event_ntfy *ntfy, bool wait) in nvkm_event_ntfy_block_() argument
102 nvkm_trace(subdev, "event: ntfy block %08x on %d wait:%d\n", ntfy->bits, ntfy->id, wait); in nvkm_event_ntfy_block_()
106 if (wait) in nvkm_event_ntfy_block_()
115 nvkm_event_ntfy_block_(ntfy, ntfy->wait); in nvkm_event_ntfy_block()
125 if (ntfy->wait) in nvkm_event_ntfy_allow()
146 nvkm_event_ntfy_add(struct nvkm_event *event, int id, u32 bits, bool wait, nvkm_event_func func, in nvkm_event_ntfy_add() argument
149 nvkm_trace(event->subdev, "event: ntfy add %08x on %d wait:%d\n", id, bits, wait); in nvkm_event_ntfy_add()
154 ntfy->wait = wait; in nvkm_event_ntfy_add()
159 if (!ntfy->wait) in nvkm_event_ntfy_add()
/linux/fs/squashfs/
H A Ddecompressor_multi.c11 #include <linux/wait.h>
42 wait_queue_head_t wait; member
58 wake_up(&stream->wait); in put_decomp_stream()
75 init_waitqueue_head(&stream->wait); in squashfs_decompressor_create()
145 * let's wait for releasing decomp from other users. in get_decomp_stream()
148 goto wait; in get_decomp_stream()
153 goto wait; in get_decomp_stream()
159 goto wait; in get_decomp_stream()
167 wait: in get_decomp_stream()
174 wait_event(stream->wait, in get_decomp_stream()
/linux/fs/btrfs/
H A Dlocking.h10 #include <linux/wait.h>
94 * Lockdep annotation for wait events.
97 * @lock: The lockdep map corresponding to a wait event
99 * This macro is used to annotate a wait event. In this case a thread acquires
101 * the threads that hold the lock as readers signal the condition for the wait
111 * Protection for the resource/condition of a wait event.
114 * @lock: The lockdep map corresponding to a wait event
116 * Many threads can modify the condition for the wait event at the same time
117 * and signal the threads that block on the wait event. The threads that modify
125 * Used after signaling the condition for a wait event to release the lockdep
[all …]
/linux/kernel/module/
H A Dkmod.c72 static int call_modprobe(char *orig_module_name, int wait) in call_modprobe() argument
103 ret = call_usermodehelper_exec(info, wait | UMH_KILLABLE); in call_modprobe()
118 * @wait: wait (or not) for the operation to complete
132 int __request_module(bool wait, const char *fmt, ...) in __request_module() argument
144 WARN_ON_ONCE(wait && current_is_async()); in __request_module()
166 trace_module_request(module_name, wait, _RET_IP_); in __request_module()
168 if (kmod_dup_request_exists_wait(module_name, wait, &dup_ret)) { in __request_module()
173 ret = call_modprobe(module_name, wait ? UMH_WAIT_PROC : UMH_WAIT_EXEC); in __request_module()
/linux/kernel/
H A Dsmp.c589 /* Do we wait until *after* callback? */ in __flush_smp_call_function_queue()
685 bool wait) in __smp_call_function_single() argument
720 * When @wait we can deadlock when we interrupt between llist_add() and in __smp_call_function_single()
721 * arch_send_call_function_ipi*(); when !@wait we can deadlock due to in __smp_call_function_single()
728 if (!wait) { in __smp_call_function_single()
743 * @csd is stack-allocated when @wait is true. No concurrent access in __smp_call_function_single()
749 if (wait) in __smp_call_function_single()
760 * @wait: If true, wait until function has completed on other CPUs.
764 int smp_call_function_single(int cpu, smp_call_func_t func, void *info, bool wait) in smp_call_function_single() argument
766 return __smp_call_function_single(cpu, func, info, NULL, wait); in smp_call_function_single()
[all …]
/linux/Documentation/devicetree/bindings/memory-controllers/
H A Dti,gpmc-child.yaml122 gpmc,wait-monitoring-ns:
123 description: Start of wait monitoring with regard to valid data
228 gpmc,wait-pin:
230 Wait-pin used by client. Must be less than "gpmc,num-waitpins".
233 ti,wait-pin-polarity:
235 Set the desired polarity for the selected wait pin.
240 gpmc,wait-on-read:
241 description: Enables wait monitoring on reads.
244 gpmc,wait-on-write:
245 description: Enables wait monitoring on writes.
/linux/fs/ceph/
H A Dlocks.c75 int cmd, u8 wait, struct file_lock *fl) in ceph_lock_message() argument
96 wait = 0; in ceph_lock_message()
114 "start: %llu, length: %llu, wait: %d, type: %d\n", in ceph_lock_message()
117 fl->fl_start, length, wait, fl->c.flc_type); in ceph_lock_message()
125 req->r_args.filelock_change.wait = wait; in ceph_lock_message()
129 err = ceph_mdsc_wait_request(mdsc, req, wait ? in ceph_lock_message()
151 "length: %llu, wait: %d, type: %d, err code %d\n", in ceph_lock_message()
153 fl->fl_start, length, wait, fl->c.flc_type, err); in ceph_lock_message()
256 u8 wait = 0; in ceph_lock() local
267 /* set wait bit as appropriate, then make command as Ceph expects it*/ in ceph_lock()
[all …]
/linux/include/trace/events/
H A Dmodule.h109 TP_PROTO(char *name, bool wait, unsigned long ip),
111 TP_ARGS(name, wait, ip),
115 __field( bool, wait )
121 __entry->wait = wait;
125 TP_printk("%s wait=%d call_site=%ps",
126 __get_str(name), (int)__entry->wait, (void *)__entry->ip)
/linux/drivers/w1/masters/
H A Damd_axi_w1.c18 #include <linux/wait.h>
67 * amd_axi_w1_wait_irq_interruptible_timeout() - Wait for IRQ with timeout.
70 * @IRQ: IRQ channel to wait on
79 /* Enable the IRQ requested and wait for flag to indicate it's been triggered */ in amd_axi_w1_wait_irq_interruptible_timeout()
85 dev_err(amd_axi_w1_local->dev, "Wait IRQ Interrupted\n"); in amd_axi_w1_wait_irq_interruptible_timeout()
90 dev_err(amd_axi_w1_local->dev, "Wait IRQ Timeout\n"); in amd_axi_w1_wait_irq_interruptible_timeout()
112 /* Wait for READY signal to be 1 to ensure 1-wire IP is ready */ in amd_axi_w1_touch_bit()
131 /* Wait for done signal to be 1 */ in amd_axi_w1_touch_bit()
160 /* Wait for READY signal to be 1 to ensure 1-wire IP is ready */ in amd_axi_w1_read_byte()
174 /* Wait for done signal to be 1 */ in amd_axi_w1_read_byte()
[all …]

12345678910>>...134