Documented in 1 files:
Defined in 1 files as a macro:
Defined in 3 files as a function:
- arch/powerpc/include/asm/qspinlock.h, line 154 (as a function)
- arch/x86/include/asm/paravirt-spinlock.h, line 74 (as a function)
- include/asm-generic/qspinlock.h, line 146 (as a function)
Referenced in 8 files:
- arch/powerpc/include/asm/qspinlock.h, line 166
- arch/x86/hyperv/hv_spinlock.c, line 82
- arch/x86/include/asm/paravirt-spinlock.h
- arch/x86/kernel/kvm.c, line 1142
- arch/x86/kernel/paravirt-spinlocks.c
- arch/x86/xen/spinlock.c, line 138
- include/asm-generic/qspinlock.h
- kernel/locking/qspinlock.c, line 107
Smatch caller information:
kernel/rcu/tree.c rcu_gp_init() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 257930615975178240 |
| NOCHECK_CALL | |||
| LOCK2 | irq |
kernel/rcu/tree.c rcu_gp_init() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 257930615975178240 |
| NOCHECK_CALL | |||
| LOCK2 | irq |
kernel/rcu/tree.c rcutree_report_cpu_dead() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 257930615975178240 |
| PREEMPT_ADD | |||
| NOCHECK_CALL | |||
| LOCK2 | irq |
kernel/rcu/tree.c rcutree_report_cpu_starting() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 257930615975178240 |
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &rnp->lock |
kernel/trace/trace_snapshot.c tracing_cond_snapshot_data() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | irq | ||
| HALF_LOCKED2 | &m->lock | ||
| HALF_LOCKED2 | _T->lock |
kernel/trace/trace_snapshot.c tracing_snapshot_cond_disable() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | irq | ||
| HALF_LOCKED2 | _T->lock |
kernel/trace/trace_snapshot.c tracing_snapshot_cond_enable() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | _T->lock | ||
| LOCK2 | irq |
kernel/trace/trace_snapshot.c tracing_snapshot_write() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 4096-ptr_max |
| NOCHECK_CALL | |||
| LOCK2 | _T->lock | ||
| LOCK2 | irq |
kernel/trace/trace_snapshot.c update_max_tr() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | flags |
kernel/trace/trace_snapshot.c update_max_tr() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | _T->lock | ||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | irq |
kernel/trace/trace_snapshot.c update_max_tr_single() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | global &max_trace_lock |
kernel/trace/trace_sched_switch.c saved_cmdlines_stop() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 3552495958108536832 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &m->lock | ||
| TYPE_LOCK | (struct seq_file)->lock |
kernel/trace/trace_sched_switch.c trace_find_cmdline() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 3552495958108536832 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &iter->mutex | ||
| HALF_LOCKED2 | flags |
kernel/trace/trace_sched_switch.c trace_save_cmdline() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 3552495958108536832 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
kernel/trace/trace_sched_switch.c tracing_resize_saved_cmdlines() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 3552495958108536832 |
| PREEMPT_ADD | <- disables preempt | ||
| NOCHECK_CALL |
kernel/trace/trace_sched_switch.c tracing_saved_cmdlines_size_read() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 3552495958108536832 |
| PREEMPT_ADD | <- disables preempt | ||
| NOCHECK_CALL |
arch/x86/kernel/dumpstack.c oops_end() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 619399257733775360 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
kernel/locking/lockdep.c lockdep_unlock() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 7115602195117199360 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &m->lock | ||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | irq |
kernel/trace/trace_clock.c trace_clock_global() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 7116197974504153096 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | flags | ||
| HALF_LOCKED2 | _T->lock |
arch/x86/mm/kmmio.c post_kmmio_handler() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 7178805435087433728 |
| NOCHECK_CALL |
arch/x86/mm/kmmio.c register_kmmio_probe() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 7178805435087433728 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | flags | ||
| LOCK2 | global &trace_lock | ||
| LOCK2 | irq |
arch/x86/mm/kmmio.c remove_kmmio_fault_pages() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 7178805435087433728 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | flags | ||
| HALF_LOCKED2 | bh | ||
| HALF_LOCKED2 | rcu |
arch/x86/mm/kmmio.c unregister_kmmio_probe() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 7178805435087433728 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | flags | ||
| HALF_LOCKED2 | global &mmiotrace_mutex | ||
| HALF_LOCKED2 | global &trace_lock | ||
| HALF_LOCKED2 | irq |
kernel/trace/trace.c trace_test_buffer() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 4096-ptr_max |
| NOCHECK_CALL | |||
| LOCK2 | flags | ||
| HALF_LOCKED2 | _T->lock | ||
| HALF_LOCKED2 | global &trace_types_lock |
kernel/trace/trace.c tracing_set_cpumask() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 4096-ptr_max |
| NOCHECK_CALL | |||
| LOCK2 | irq |
kernel/trace/trace.c tracing_set_tracer() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 4096-ptr_max |
| NOCHECK_CALL | |||
| LOCK2 | _T->lock | ||
| LOCK2 | irq |
kernel/trace/trace.c tracing_start_tr() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &tr->start_lock | ||
| LOCK2 | irq | ||
| HALF_LOCKED2 | _T->lock | ||
| HALF_LOCKED2 | global &trace_types_lock | ||
| TYPE_LOCK | (struct trace_array)->start_lock |
kernel/trace/trace.c tracing_stop_tr() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &tr->start_lock | ||
| LOCK2 | irq | ||
| HALF_LOCKED2 | _T->lock | ||
| HALF_LOCKED2 | global &trace_types_lock | ||
| TYPE_LOCK | (struct trace_array)->start_lock |
kernel/trace/trace_stack.c check_stack() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 6849484529327005696 |
| PREEMPT_ADD | |||
| NOCHECK_CALL | |||
| LOCK2 | flags |
kernel/trace/trace_stack.c stack_max_size_write() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 6849484529327005696 |
| NOCHECK_CALL | |||
| LOCK2 | flags |
kernel/trace/trace_stack.c t_stop() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 6849484529327005696 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &m->lock | ||
| TYPE_LOCK | (struct seq_file)->lock |
kernel/trace/ring_buffer.c __rb_get_reader_page() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | flags | ||
| HALF_LOCKED2 | &cpu_buffer->mapping_lock | ||
| HALF_LOCKED2 | &cpu_buffer->reader_lock | ||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | irq |
kernel/trace/ring_buffer.c reset_disabled_cpu_buffer() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &buffer->mutex | ||
| LOCK2 | &cpu_buffer->reader_lock | ||
| LOCK2 | irq | ||
| HALF_LOCKED2 | _T->lock | ||
| TYPE_LOCK | (struct ring_buffer_per_cpu)->reader_lock | ||
| TYPE_LOCK | (struct trace_buffer)->mutex |
kernel/trace/ring_buffer.c ring_buffer_alloc_read_page() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | flags | ||
| HALF_LOCKED2 | global &all_cpu_access_lock |
kernel/trace/ring_buffer.c ring_buffer_free_read_page() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | flags | ||
| HALF_LOCKED2 | _T->lock | ||
| HALF_LOCKED2 | global &all_cpu_access_lock |
kernel/trace/ring_buffer.c ring_buffer_read_start() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &cpu_buffer->reader_lock | ||
| LOCK2 | irq | ||
| HALF_LOCKED2 | _T->lock | ||
| HALF_LOCKED2 | global &trace_types_lock | ||
| TYPE_LOCK | (struct ring_buffer_per_cpu)->reader_lock |
arch/x86/kernel/hpet.c read_hpet() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | flags | ||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | global &watchdog_lock | ||
| HALF_LOCKED2 | irq |
kernel/trace/trace_sched_wakeup.c probe_wakeup() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 8487020798062653440 |
| NOCHECK_CALL |
kernel/trace/trace_sched_wakeup.c probe_wakeup_sched_switch() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 8487020798062653440 |
| NOCHECK_CALL | |||
| LOCK2 | flags |
kernel/trace/trace_sched_wakeup.c wakeup_reset() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 8487020798062653440 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | flags | ||
| HALF_LOCKED2 | _T->lock |
arch/x86/kernel/tsc_sync.c check_tsc_warp() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 77238662362324992 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
arch/x86/kernel/tsc_sync.c check_tsc_warp() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 77238662362324992 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
kernel/locking/spinlock_debug.c do_raw_spin_unlock() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 4096-ptr_max |
| NOCHECK_CALL |
kernel/bpf/helpers.c __bpf_spin_unlock() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | lock | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 0 | lock | unit_byte |
| HALF_LOCKED2 | flags |
kernel/locking/qrwlock.c queued_read_lock_slowpath() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | irq |
kernel/locking/qrwlock.c queued_write_lock_slowpath() -> queued_spin_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lock | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | irq |