Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 5 files:
- block/blk-mq.c, line 1260
- kernel/sched/core.c, line 4033
- kernel/sched/ext/idle.c, line 534
- kernel/sched/fair.c
- kernel/workqueue.c
Smatch caller information:
block/blk-mq.c blk_mq_complete_need_ipi() -> cpus_share_cache()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | this_cpu | 0 |
| PARAM_VALUE | 1 | that_cpu | s32min-(-1),1-s32max |
| PARAM_COMPARE | 0 | this_cpu | < $1 |
| PARAM_COMPARE | 1 | that_cpu | > $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &anv->lock | ||
| HALF_LOCKED2 | &vq->lock | ||
| HALF_LOCKED2 | flags |
kernel/sched/fair.c alb_break_llc() -> cpus_share_cache()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | that_cpu | s32min-(-2),0-s32max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | busiest | ||
| HALF_LOCKED2 | irq | ||
| HALF_LOCKED2 | rcu_read |
kernel/sched/fair.c can_migrate_llc_task() -> cpus_share_cache()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | that_cpu | 0-s32max |
| DATA_SOURCE | 0 | this_cpu | $0 |
| DATA_SOURCE | 1 | that_cpu | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | busiest | ||
| HALF_LOCKED2 | busiest_rq | ||
| HALF_LOCKED2 | irq | ||
| HALF_LOCKED2 | rcu_read | ||
| HALF_LOCKED2 | rf.flags |
kernel/sched/fair.c can_migrate_llc_task() -> cpus_share_cache()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | this_cpu | 0-s32max |
| PARAM_VALUE | 1 | that_cpu | 0-s32max |
| DATA_SOURCE | 0 | this_cpu | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | busiest | ||
| HALF_LOCKED2 | busiest_rq | ||
| HALF_LOCKED2 | irq | ||
| HALF_LOCKED2 | rcu_read | ||
| HALF_LOCKED2 | rf.flags |
kernel/sched/fair.c can_migrate_llc_task() -> cpus_share_cache()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | that_cpu | 0-s32max |
| DATA_SOURCE | 0 | this_cpu | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | busiest | ||
| HALF_LOCKED2 | busiest_rq | ||
| HALF_LOCKED2 | irq | ||
| HALF_LOCKED2 | rcu_read | ||
| HALF_LOCKED2 | rf.flags |
kernel/sched/fair.c select_idle_sibling() -> cpus_share_cache()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | this_cpu | $1 |
| DATA_SOURCE | 1 | that_cpu | $2 |
| PARAM_COMPARE | 0 | this_cpu | > $1 |
| PARAM_COMPARE | 1 | that_cpu | < $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &p->pi_lock | ||
| HALF_LOCKED2 | &p->sighand->siglock | ||
| HALF_LOCKED2 | irq | ||
| TYPE_LOCK | (struct task_struct)->pi_lock |
kernel/sched/fair.c select_idle_sibling() -> cpus_share_cache()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 1 | that_cpu | $2 |
| PARAM_COMPARE | 0 | this_cpu | != $1 |
| PARAM_COMPARE | 1 | that_cpu | != $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &p->pi_lock | ||
| HALF_LOCKED2 | &p->sighand->siglock | ||
| HALF_LOCKED2 | irq | ||
| TYPE_LOCK | (struct task_struct)->pi_lock |
kernel/sched/fair.c select_idle_sibling() -> cpus_share_cache()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | this_cpu | $1 |
| DATA_SOURCE | 1 | that_cpu | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &p->pi_lock | ||
| HALF_LOCKED2 | &p->sighand->siglock | ||
| HALF_LOCKED2 | irq | ||
| TYPE_LOCK | (struct task_struct)->pi_lock |
kernel/sched/fair.c wake_affine_idle() -> cpus_share_cache()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | this_cpu | 0 |
| PARAM_VALUE | 1 | that_cpu | 1-s32max |
| DATA_SOURCE | 0 | this_cpu | $0 |
| DATA_SOURCE | 1 | that_cpu | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &p->pi_lock | ||
| HALF_LOCKED2 | &p->sighand->siglock | ||
| HALF_LOCKED2 | irq | ||
| TYPE_LOCK | (struct task_struct)->pi_lock |
kernel/workqueue.c cpus_share_cache_shard() -> cpus_share_cache()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | this_cpu | 1-64 |
| PARAM_VALUE | 1 | that_cpu | 0-63 |
| CAPPED_DATA | 0 | this_cpu | 1 |
| CAPPED_DATA | 1 | that_cpu | 1 |
| DATA_SOURCE | 0 | this_cpu | $0 |
| DATA_SOURCE | 1 | that_cpu | $1 |
| CONSTRAINT | 0 | this_cpu | <3035 |
| CONSTRAINT | 1 | that_cpu | <3035 |
| NO_OVERFLOW_SIMPLE | 0 | this_cpu | |
| NO_OVERFLOW_SIMPLE | 1 | that_cpu | |
| UNITS | 0 | this_cpu | unit_array_size |
| UNITS | 1 | that_cpu | unit_array_size |
kernel/sched/core.c ttwu_queue_cond() -> cpus_share_cache()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | this_cpu | 0 |
| PARAM_VALUE | 1 | that_cpu | 0-s32max |
| DATA_SOURCE | 0 | this_cpu | r debug_smp_processor_id |
| DATA_SOURCE | 1 | that_cpu | $1 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &p->pi_lock | ||
| LOCK2 | irq | ||
| HALF_LOCKED2 | &p->sighand->siglock | ||
| HALF_LOCKED2 | flags | ||
| TYPE_LOCK | (struct task_struct)->pi_lock |
kernel/workqueue.c init_pod_type() -> init_pod_type param 1()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | this_cpu | 1-64 |
| PARAM_VALUE | 1 | that_cpu | 0-63 |
| CAPPED_DATA | 0 | this_cpu | 1 |
| CAPPED_DATA | 1 | that_cpu | 1 |
| DATA_SOURCE | 0 | this_cpu | r find_next_bit |
| DATA_SOURCE | 1 | that_cpu | r find_next_bit |
| PARAM_COMPARE | 0 | this_cpu | > $1 |
| PARAM_COMPARE | 1 | that_cpu | < $0 |
| CONSTRAINT | 0 | this_cpu | <3035 |
| CONSTRAINT | 1 | that_cpu | <3035 |
| NO_OVERFLOW_SIMPLE | 0 | this_cpu | |
| NO_OVERFLOW_SIMPLE | 1 | that_cpu | |
| UNITS | 0 | this_cpu | unit_array_size |
| UNITS | 1 | that_cpu | unit_array_size |