| /linux/kernel/sched/ |
| H A D | completion.c | 1 // SPDX-License-Identifier: GPL-2.0 4 * Generic wait-for-completion handler; 7 * wait_for_completion default blocks whereas semaphore default non-block. The 25 raw_spin_lock_irqsave(&x->wait.lock, flags); in complete_with_flags() 27 if (x->done != UINT_MAX) in complete_with_flags() 28 x->done++; 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() 39 * complete: - signals a single thread waiting on this completion 40 * @x: holds the state of this particular completion [all …]
|
| H A D | swait.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * <linux/swait.h> (simple wait queues ) implementation: 10 raw_spin_lock_init(&q->lock); in __init_swait_queue_head() 11 lockdep_set_class_and_name(&q->lock, key, name); in __init_swait_queue_head() 12 INIT_LIST_HEAD(&q->task_list); in __init_swait_queue_head() 26 if (list_empty(&q->task_list)) in swake_up_locked() 29 curr = list_first_entry(&q->task_list, typeof(*curr), task_list); in swake_up_locked() 30 try_to_wake_up(curr->task, TASK_NORMAL, wake_flags); in swake_up_locked() 31 list_del_init(&curr->task_list); in swake_up_locked() 44 while (!list_empty(&q->task_list)) in swake_up_all_locked() [all …]
|
| H A D | wait.c | 1 // SPDX-License-Identifier: GPL-2.0-only 11 spin_lock_init(&wq_head->lock); in __init_waitqueue_head() 12 lockdep_set_class_and_name(&wq_head->lock, key, name); in __init_waitqueue_head() 13 INIT_LIST_HEAD(&wq_head->head); in __init_waitqueue_head() 22 wq_entry->flags &= ~WQ_FLAG_EXCLUSIVE; in add_wait_queue() 23 spin_lock_irqsave(&wq_head->lock, flags); in add_wait_queue() 25 spin_unlock_irqrestore(&wq_head->lock, flags); in add_wait_queue() 33 wq_entry->flags |= WQ_FLAG_EXCLUSIVE; in add_wait_queue_exclusive() 34 spin_lock_irqsave(&wq_head->lock, flags); in add_wait_queue_exclusive() 36 spin_unlock_irqrestore(&wq_head->lock, flags); in add_wait_queue_exclusive() [all …]
|
| /linux/include/linux/ |
| H A D | wait.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 5 * Linux wait queue related types and methods 26 * A single wait-queue entry structure: 82 wq_entry->flags = 0; in init_waitqueue_entry() 83 wq_entry->private = p; in init_waitqueue_entry() 84 wq_entry->func = default_wake_function; in init_waitqueue_entry() 90 wq_entry->flags = 0; in init_waitqueue_func_entry() 91 wq_entry->private = NULL; in init_waitqueue_func_entry() 92 wq_entry->func = func; in init_waitqueue_func_entry() 96 * waitqueue_active -- locklessly test for waiters on the queue [all …]
|
| H A D | swait.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 8 #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 14 * for deterministic behaviour -- IOW it has strictly bounded IRQ and lock hold 24 * - mixing INTERRUPTIBLE and UNINTERRUPTIBLE sleeps on the same waitqueue; 26 * sleeper state. 28 * - the !exclusive mode; because that leads to O(n) wakeups, everything is 31 * - custom wake callback functions; because you cannot give any guarantees 35 * As a side effect of these; the data structures are slimmer albeit more ad-hoc. [all …]
|
| H A D | rcupdate_wait.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 25 void __wait_rcu_gp(bool checktiny, unsigned int state, int n, call_rcu_func_t *crcu_array, 28 #define _wait_rcu_gp(checktiny, state, ...) \ argument 32 __wait_rcu_gp(checktiny, state, ARRAY_SIZE(__crcu_array), __crcu_array, __rs_array); \ 36 #define wait_rcu_gp_state(state, ...) _wait_rcu_gp(false, state, __VA_ARGS__) argument 39 * synchronize_rcu_mult - Wait concurrently for multiple grace periods 40 * @...: List of call_rcu() functions for different grace periods to wait on 43 * For example, synchronize_rcu_mult(call_rcu, call_rcu_tasks) would wait 44 * on concurrent RCU and RCU-tasks grace periods. Waiting on a given SRCU 71 // Has the current task blocked within its current RCU read-side [all …]
|
| /linux/drivers/mtd/chips/ |
| H A D | cfi_cmdset_0020.c | 1 // SPDX-License-Identifier: GPL-2.0 9 * - completely revamped method functions so they are aware and 11 * - scalability vs code size is completely set at compile-time 13 * - optimized write buffer method 14 * 06/21/2002 Joern Engel <joern@wh.fh-wedel.de> and others 15 * - modified Intel Command Set 0x0001 to support ST Advanced Architecture 17 * - added a writev function 18 * 07/13/2005 Joern Engel <joern@wh.fh-wedel.de> 19 * - Plugged memory leak in cfi_staa_writev(). 69 printk(" Feature/Command Support: %4.4X\n", extp->FeatureSupport); in cfi_tell_features() [all …]
|
| /linux/drivers/scsi/isci/ |
| H A D | phy.h | 7 * Copyright(c) 2008 - 2011 Intel Corporation. All rights reserved. 20 * Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 26 * Copyright(c) 2008 - 2011 Intel Corporation. All rights reserved. 63 /* This is the timeout value for the SATA phy to wait for a SIGNATURE FIS 64 * before restarting the starting state machine. Technically, the old parallel 74 * notification from the hardware that we restart the hardware OOB state 80 * isci_phy - hba local phy infrastructure 83 * @phy_index: physical index relative to the controller (0-3) 162 * struct sci_phy_properties - This structure defines the properties common to 189 * struct sci_sas_phy_properties - This structure defines the properties, [all …]
|
| /linux/drivers/net/ethernet/sfc/falcon/ |
| H A D | selftest.c | 1 // SPDX-License-Identifier: GPL-2.0-only 4 * Copyright 2005-2006 Fen Systems Ltd. 5 * Copyright 2006-2012 Solarflare Communications Inc. 26 * - All IRQs may be disabled on a CPU for a *long* time by e.g. a 28 * - The PREEMPT_RT patches mostly deal with this, but also allow a 38 * The self-test should stress every RSS vector, and unfortunately 42 char pad[2]; /* Ensures ip is 4-byte aligned */ 65 [EF4_INT_MODE_MSIX] = "MSI-X", 70 STRING_TABLE_LOOKUP(efx->interrupt_mode, ef4_interrupt_mode) 73 * struct ef4_loopback_state - persistent state during a loopback selftest [all …]
|
| /linux/drivers/net/ethernet/sfc/siena/ |
| H A D | selftest.c | 1 // SPDX-License-Identifier: GPL-2.0-only 4 * Copyright 2005-2006 Fen Systems Ltd. 5 * Copyright 2006-2012 Solarflare Communications Inc. 29 * - All IRQs may be disabled on a CPU for a *long* time by e.g. a 31 * - The PREEMPT_RT patches mostly deal with this, but also allow a 41 * The self-test should stress every RSS vector, and unfortunately 45 char pad[2]; /* Ensures ip is 4-byte aligned */ 68 [EFX_INT_MODE_MSIX] = "MSI-X", 73 STRING_TABLE_LOOKUP(efx->interrupt_mode, efx_siena_interrupt_mode) 76 * struct efx_loopback_state - persistent state during a loopback selftest [all …]
|
| /linux/drivers/infiniband/hw/hfi1/ |
| H A D | vnic_sdma.c | 1 // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause 3 * Copyright(c) 2017 - 2018 Intel Corporation. 20 * struct vnic_txreq - VNIC transmit descriptor 42 struct hfi1_vnic_sdma *vnic_sdma = tx->sdma; in vnic_sdma_complete() 44 sdma_txclean(vnic_sdma->dd, txreq); in vnic_sdma_complete() 45 dev_kfree_skb_any(tx->skb); in vnic_sdma_complete() 46 kmem_cache_free(vnic_sdma->dd->vnic.txreq_cache, tx); in vnic_sdma_complete() 55 sde->dd, in build_vnic_ulp_payload() 56 &tx->txreq, in build_vnic_ulp_payload() 57 tx->skb->data, in build_vnic_ulp_payload() [all …]
|
| /linux/drivers/net/ethernet/sfc/ |
| H A D | selftest.c | 1 // SPDX-License-Identifier: GPL-2.0-only 4 * Copyright 2005-2006 Fen Systems Ltd. 5 * Copyright 2006-2012 Solarflare Communications Inc. 29 * - All IRQs may be disabled on a CPU for a *long* time by e.g. a 31 * - The PREEMPT_RT patches mostly deal with this, but also allow a 41 * The self-test should stress every RSS vector. 44 char pad[2]; /* Ensures ip is 4-byte aligned */ 67 [EFX_INT_MODE_MSIX] = "MSI-X", 72 STRING_TABLE_LOOKUP(efx->interrupt_mode, efx_interrupt_mode) 75 * struct efx_loopback_state - persistent state during a loopback selftest [all …]
|
| /linux/kernel/locking/ |
| H A D | qspinlock_paravirt.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 16 * pv_wait(u8 *ptr, u8 val) -- suspends the vcpu if *ptr == val 17 * pv_kick(cpu) -- wakes a suspended vcpu 31 * mitigates the slight slowdown for non-overcommitted guest with this 32 * aggressive wait-early mechanism. 53 u8 state; member 63 * The pending bit is set by the queue head vCPU of the MCS wait queue in 67 * enter the MCS wait queue. So lock starvation shouldn't happen as long 72 * mode spinning on the lock unless the MCS wait queue is empty. In this 85 * present in the MCS wait queue but the pending bit isn't set. in pv_hybrid_queued_unfair_trylock() [all …]
|
| /linux/arch/powerpc/platforms/powernv/ |
| H A D | opal-async.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 * Copyright 2013-2017 IBM Corp. 16 #include <linux/wait.h> 31 enum opal_async_token_state state; member 44 int i, token = -EBUSY; in __opal_async_get_token() 49 if (opal_async_tokens[i].state == ASYNC_TOKEN_UNALLOCATED) { in __opal_async_get_token() 50 opal_async_tokens[i].state = ASYNC_TOKEN_ALLOCATED; in __opal_async_get_token() 70 /* Wait until a token is available */ in opal_async_get_token_interruptible() 72 return -ERESTARTSYS; in opal_async_get_token_interruptible() 90 return -EINVAL; in __opal_async_release_token() [all …]
|
| /linux/drivers/net/wwan/iosm/ |
| H A D | iosm_ipc_pm.h | 1 /* SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) 2020-21 Intel Corporation. 18 * union ipc_pm_cond - Conditions for D3 and the sleep message to CP. 22 * @link: Device link state. 35 * enum ipc_mem_host_pm_state - Possible states of the HOST SLEEP finite state 38 * @IPC_MEM_HOST_PM_ACTIVE_WAIT: Intermediate state before going to 40 * @IPC_MEM_HOST_PM_SLEEP_WAIT_IDLE: Intermediate state to wait for idle 42 * @IPC_MEM_HOST_PM_SLEEP_WAIT_D3: Intermediate state to wait for D3 44 * @IPC_MEM_HOST_PM_SLEEP: after this state the interface is not 46 * @IPC_MEM_HOST_PM_SLEEP_WAIT_EXIT_SLEEP: Intermediate state before exiting [all …]
|
| H A D | iosm_ipc_imem_ops.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) 2020-21 Intel Corporation. 18 dev_dbg(ipc_imem->dev, "%s if id: %d", in ipc_imem_sys_wwan_open() 19 ipc_imem_phase_get_string(ipc_imem->phase), if_id); in ipc_imem_sys_wwan_open() 23 dev_err(ipc_imem->dev, "net:%d : refused phase %s", if_id, in ipc_imem_sys_wwan_open() 24 ipc_imem_phase_get_string(ipc_imem->phase)); in ipc_imem_sys_wwan_open() 25 return -EIO; in ipc_imem_sys_wwan_open() 28 return ipc_mux_open_session(ipc_imem->mux, if_id); in ipc_imem_sys_wwan_open() 35 if (ipc_imem->mux && if_id >= IP_MUX_SESSION_START && in ipc_imem_sys_wwan_close() 37 ipc_mux_close_session(ipc_imem->mux, if_id); in ipc_imem_sys_wwan_close() [all …]
|
| /linux/drivers/gpu/drm/renesas/rcar-du/ |
| H A D | rcar_du_crtc.h | 1 /* SPDX-License-Identifier: GPL-2.0+ */ 3 * R-Car Display Unit CRTCs 5 * Copyright (C) 2013-2015 Renesas Electronics Corporation 15 #include <linux/wait.h> 26 * struct rcar_du_crtc - the CRTC, representing a DU superposition processor 37 * @flip_wait: wait queue used to signal page flip completion 39 * @vblank_wait: wait queue used to signal vertical blanking 40 * @vblank_count: number of vertical blanking interrupts to wait for 82 * struct rcar_du_crtc_state - Driver-specific CRTC state 83 * @state: base DRM CRTC state [all …]
|
| /linux/net/atm/ |
| H A D | svc.c | 1 // SPDX-License-Identifier: GPL-2.0 2 /* net/atm/svc.c - ATM SVC sockets */ 4 /* Written 1995-2000 by Werner Almesberger, EPFL LRC/ICA */ 13 #include <linux/wait.h> 53 DEFINE_WAIT(wait); in svc_disconnect() 58 if (test_bit(ATM_VF_REGIS, &vcc->flags)) { in svc_disconnect() 61 prepare_to_wait(sk_sleep(sk), &wait, TASK_UNINTERRUPTIBLE); in svc_disconnect() 62 if (test_bit(ATM_VF_RELEASED, &vcc->flags) || !sigd) in svc_disconnect() 66 finish_wait(sk_sleep(sk), &wait); in svc_disconnect() 68 /* beware - socket is still in use by atmsigd until the last in svc_disconnect() [all …]
|
| /linux/kernel/futex/ |
| H A D | requeue.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 15 * and the hash bucket lock blocking would collide and corrupt state. 23 * The following state transitions are valid: 26 * Q_REQUEUE_PI_NONE -> Q_REQUEUE_PI_IGNORE 27 * Q_REQUEUE_PI_IN_PROGRESS -> Q_REQUEUE_PI_WAIT 30 * Q_REQUEUE_PI_NONE -> Q_REQUEUE_PI_INPROGRESS 31 * Q_REQUEUE_PI_IN_PROGRESS -> Q_REQUEUE_PI_DONE/LOCKED 32 * Q_REQUEUE_PI_IN_PROGRESS -> Q_REQUEUE_PI_NONE (requeue failed) 33 * Q_REQUEUE_PI_WAIT -> Q_REQUEUE_PI_DONE/LOCKED 34 * Q_REQUEUE_PI_WAIT -> Q_REQUEUE_PI_IGNORE (requeue failed) [all …]
|
| /linux/drivers/cpuidle/ |
| H A D | coupled.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * coupled.c - helper functions to enter the same idle state on multiple cpus 27 * will corrupt the gic state unless the other cpu runs a work 28 * around). Each cpu has a power state that it can enter without 29 * coordinating with the other cpu (usually Wait For Interrupt, or 32 * sometimes the whole SoC). Entering a coupled power state must 35 * This file implements a solution, where each cpu will wait in the 36 * WFI state until all cpus are ready to enter a coupled state, at 37 * which point the coupled state function will be called on all 44 * power state enter function at the same time. During this pass, [all …]
|
| /linux/net/can/ |
| H A D | isotp.c | 1 // SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause) 2 /* isotp.c - ISO 15765-2 CAN transport protocol for protocol family CAN 4 * This implementation does not provide ISO-TP specific return values to the 7 * - RX path timeout of data reception leads to -ETIMEDOU 143 u32 state; global() member 168 wait_queue_head_t wait; global() member 1654 isotp_poll(struct file * file,struct socket * sock,poll_table * wait) isotp_poll() argument [all...] |
| /linux/drivers/scsi/esas2r/ |
| H A D | esas2r_disc.c | 5 * Copyright (c) 2001-2013 ATTO Technology, Inc. 8 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 22 * LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, 41 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 43 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 85 struct esas2r_sas_nvram *nvr = a->nvram; in esas2r_disc_initialize() 89 clear_bit(AF_DISC_IN_PROG, &a->flags); in esas2r_disc_initialize() 90 clear_bit(AF2_DEV_SCAN, &a->flags2); in esas2r_disc_initialize() 91 clear_bit(AF2_DEV_CNT_OK, &a->flags2); in esas2r_disc_initialize() 93 a->disc_start_time = jiffies_to_msecs(jiffies); in esas2r_disc_initialize() [all …]
|
| /linux/sound/firewire/ |
| H A D | fcp.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Function Control Protocol (IEC 61883-1) helper functions 10 #include <linux/firewire-constants.h> 16 #include <linux/wait.h> 20 #include "amdtp-stream.h" 45 return -EINVAL; in avc_general_set_sig_fmt() 49 return -ENOME in avc_general_set_sig_fmt() 202 enum fcp_state state; global() member 203 wait_queue_head_t wait; global() member [all...] |
| /linux/drivers/s390/crypto/ |
| H A D | ap_bus.h | 1 /* SPDX-License-Identifier: GPL-2.0+ */ 79 * AP queue state machine states 93 * AP queue state machine events 102 * AP queue state wait behaviour 106 AP_SM_WAIT_HIGH_TIMEOUT, /* poll high freq, wait for timeout */ 107 AP_SM_WAIT_LOW_TIMEOUT, /* poll low freq, wait for timeout */ 108 AP_SM_WAIT_INTERRUPT, /* wait for thin interrupt (if available) */ 109 AP_SM_WAIT_NONE, /* no wait */ 120 AP_DEV_STATE_ERROR, /* device is in error state */ 178 bool config; /* configured state */ [all …]
|
| /linux/net/ipv4/ |
| H A D | tcp_minisocks.c | 1 // SPDX-License-Identifier: GPL-2.0-only 12 * Corey Minyard <wf-rch!minyard@relay.EU.net> 13 * Florian La Roche, <flla@stud.uni-sb.de> 45 &tcptw->tw_last_oow_ack_time)) { in tcp_timewait_check_oow_rate_limit() 52 /* We are rate-limiting, so just release the tw sock and drop skb. */ in tcp_timewait_check_oow_rate_limit() 63 ao = rcu_dereference(tcptw->ao_info); in twsk_rcv_nxt_update() 65 WRITE_ONCE(ao->rcv_sn in twsk_rcv_nxt_update() 308 tcp_time_wait(struct sock * sk,int state,int timeo) tcp_time_wait() argument 944 int state = child->sk_state; tcp_child_process() local [all...] |