Defined in 1 files as a function:
Referenced in 2 files:
Smatch caller information:
drivers/md/dm-cache-policy-smq.c queue_demotion() -> queue_writeback()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mq | 4096-ptr_max |
| PARAM_VALUE | 0 | mq->bg_work | 4096-ptr_max |
| PARAM_VALUE | 0 | mq->cache_alloc.free.head | 268435455 |
| PARAM_VALUE | 0 | mq->dirty.nr_elts | 1-u32max |
| PARAM_VALUE | 0 | mq->hotspot.nr_levels | 64 |
| PARAM_VALUE | 0 | mq->hotspot_table.buckets | 4096-ptr_max |
| PARAM_VALUE | 0 | mq->migrations_allowed | 1 |
| PARAM_VALUE | 0 | mq->table.buckets | 4096-ptr_max |
| PARAM_VALUE | 1 | idle | 0 |
| DATA_SOURCE | 0 | mq | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | flags | ||
| LOCK2 | 0 | &mq->lock | |
| HALF_LOCKED2 | &md->io_barrier | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct smq_policy)->lock |
drivers/md/dm-cache-policy-smq.c smq_get_background_work() -> queue_writeback()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mq | 4096-ptr_max |
| PARAM_VALUE | 0 | mq->bg_work | 4096-ptr_max |
| PARAM_VALUE | 0 | mq->dirty.nr_elts | 1-u32max |
| DATA_SOURCE | 0 | mq | r to_smq_policy |
| DATA_SOURCE | 1 | idle | $1 |
| PARAM_COMPARE | 0 | &mq->bg_work->queued | == $0->bg_work->queued.next |
| PREEMPT_ADD | <- disables preempt | ||
| NOCHECK_CALL | |||
| LOCK2 | flags | ||
| LOCK2 | 0 | &mq->lock | |
| HALF_LOCKED2 | &cache->background_work_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct smq_policy)->lock |