Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/md/dm-pcache/cache.c pcache_cache_set_gc_percent() -> cache_info_write()

Type Parameter Key Value
PARAM_VALUE 0 cache 4096-ptr_max
PARAM_VALUE 0 cache->cache_info_lock.dep_map->name 0-255
PARAM_VALUE 0 cache->cache_info_lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 cache->cache_info_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 cache->cache_info_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 cache->cache_info_lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 cache->cache_info_lock.wait_lock.owner (-1)
PARAM_VALUE 0 cache->cache_info_lock.wait_lock.owner_cpu u32max
CAPPED_DATA 0 &cache->cache_info_lock 1
DATA_SOURCE 0 cache $0
NOCHECK_CALL
USER_DATA 0 cache->cache_info.flags 0-u32max[c][u]
LOCK2 &md->io_barrier
LOCK2 0 &cache->cache_info_lock
TYPE_LOCK (struct mapped_device)->io_barrier
TYPE_LOCK (struct pcache_cache)->cache_info_lock

drivers/md/dm-pcache/cache.c pcache_cache_start() -> cache_info_write()

Type Parameter Key Value
PARAM_VALUE 0 cache 4096-ptr_max
PARAM_VALUE 0 cache->cache_ctrl 4096-ptr_max
PARAM_VALUE 0 cache->cache_dev 4096-ptr_max
PARAM_VALUE 0 cache->cache_dev->seg_lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 cache->cache_dev->seg_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 cache->cache_info_addr 4096-ptr_max
PARAM_VALUE 0 cache->data_heads 4096-ptr_max
PARAM_VALUE 0 cache->dirty_tail.cache_seg 4096-ptr_max
PARAM_VALUE 0 cache->dirty_tail.seg_off 0
PARAM_VALUE 0 cache->key_head.cache_seg 4096-ptr_max
PARAM_VALUE 0 cache->key_head_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 cache->key_tail.cache_seg 4096-ptr_max
PARAM_VALUE 0 cache->key_tail.seg_off 0
PARAM_VALUE 0 cache->ksets 0
PARAM_VALUE 0 cache->ksets->cache 0
PARAM_VALUE 0 cache->ksets->flush_work.cpu 0
PARAM_VALUE 0 cache->ksets->flush_work.timer.expires 0
PARAM_VALUE 0 cache->ksets->flush_work.timer.flags 0
PARAM_VALUE 0 cache->ksets->flush_work.timer.function 0
PARAM_VALUE 0 cache->ksets->flush_work.work.func 0
PARAM_VALUE 0 cache->ksets->flush_work.wq 0
PARAM_VALUE 0 cache->ksets->kset_onmedia.crc 0
PARAM_VALUE 0 cache->ksets->kset_onmedia.flags 0
PARAM_VALUE 0 cache->ksets->kset_onmedia.key_num 0
PARAM_VALUE 0 cache->ksets->kset_onmedia.magic 0
PARAM_VALUE 0 cache->n_ksets 0
PARAM_VALUE 0 cache->req_key_tree.cache 4096-ptr_max
PARAM_VALUE 0 cache->req_key_tree.cache->cache_ctrl 4096-ptr_max
PARAM_VALUE 0 cache->req_key_tree.cache->cache_dev 4096-ptr_max
PARAM_VALUE 0 cache->req_key_tree.cache->cache_info.seg_id 0-64
PARAM_VALUE 0 cache->req_key_tree.cache->cache_info_addr 4096-ptr_max
PARAM_VALUE 0 cache->req_key_tree.cache->dirty_tail_seq 0-255
PARAM_VALUE 0 cache->req_key_tree.cache->key_tail_seq 0-255
PARAM_VALUE 0 cache->req_key_tree.cache->ksets 0
PARAM_VALUE 0 cache->req_key_tree.cache->req_key_tree.n_subtrees 0-1
PARAM_VALUE 0 cache->req_key_tree.cache->writeback_key_tree.n_subtrees 0-1
PARAM_VALUE 0 cache->req_key_tree.key_pool.alloc 7276475779886346240
PARAM_VALUE 0 cache->req_key_tree.key_pool.elements 1-u64max
PARAM_VALUE 0 cache->req_key_tree.key_pool.free 8263660038527102976
PARAM_VALUE 0 cache->req_key_tree.key_pool.min_nr 1024
PARAM_VALUE 0 cache->req_key_tree.key_pool.pool_data 0
PARAM_VALUE 0 cache->req_key_tree.key_pool.wait.head.next->next 4096-ptr_max
PARAM_VALUE 0 cache->req_key_tree.key_pool.wait.head.prev->next 4096-ptr_max
PARAM_VALUE 0 cache->req_key_tree.key_pool.wait.head.prev->prev 4096-ptr_max
PARAM_VALUE 0 cache->req_key_tree.n_subtrees 0
PARAM_VALUE 0 cache->req_key_tree.subtrees 16,4096-ptr_max
PARAM_VALUE 0 cache->writeback_ctx.pending.counter 0
PARAM_VALUE 0 cache->writeback_key_tree.cache 4096-ptr_max
PARAM_VALUE 0 cache->writeback_key_tree.cache->cache_ctrl 4096-ptr_max
PARAM_VALUE 0 cache->writeback_key_tree.cache->cache_dev 4096-ptr_max
PARAM_VALUE 0 cache->writeback_key_tree.cache->cache_info.seg_id 0-64
PARAM_VALUE 0 cache->writeback_key_tree.cache->cache_info_addr 4096-ptr_max
PARAM_VALUE 0 cache->writeback_key_tree.cache->dirty_tail_seq 0-255
PARAM_VALUE 0 cache->writeback_key_tree.cache->key_tail_seq 0-255
PARAM_VALUE 0 cache->writeback_key_tree.cache->writeback_key_tree.n_subtrees 0-1
PARAM_VALUE 0 cache->writeback_key_tree.key_pool.alloc 7276475779886346240
PARAM_VALUE 0 cache->writeback_key_tree.key_pool.curr_nr 1-s32max
PARAM_VALUE 0 cache->writeback_key_tree.key_pool.elements 1-u64max
PARAM_VALUE 0 cache->writeback_key_tree.key_pool.free 8263660038527102976
PARAM_VALUE 0 cache->writeback_key_tree.key_pool.min_nr 1024
PARAM_VALUE 0 cache->writeback_key_tree.key_pool.wait.head.next 4096-ptr_max
PARAM_VALUE 0 cache->writeback_key_tree.key_pool.wait.head.next->next 4096-ptr_max
PARAM_VALUE 0 cache->writeback_key_tree.key_pool.wait.head.prev 4096-ptr_max
PARAM_VALUE 0 cache->writeback_key_tree.key_pool.wait.head.prev->next 4096-ptr_max
PARAM_VALUE 0 cache->writeback_key_tree.key_pool.wait.head.prev->prev 4096-ptr_max
PARAM_VALUE 0 cache->writeback_key_tree.n_subtrees 1
PARAM_VALUE 0 cache->writeback_key_tree.subtrees 16,4096-ptr_max
PARAM_VALUE 0 cache->writeback_work.timer.entry->pprev 4096-ptr_max
BUF_SIZE 0 cache 12160
CAPPED_DATA 0 cache->cache_info.n_segs 1
CAPPED_DATA 0 cache->req_key_tree.subtrees 1
BIT_INFO 0 cache->cache_info.flags 0x2,0xffffffff
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 cache->n_ksets
NO_OVERFLOW_SIMPLE 0 cache->req_key_tree.cache->n_ksets
NO_OVERFLOW_SIMPLE 0 cache->req_key_tree.cache->req_key_tree.key_pool.min_nr
NO_OVERFLOW_SIMPLE 0 cache->req_key_tree.cache->req_key_tree.n_subtrees
NO_OVERFLOW_SIMPLE 0 cache->req_key_tree.n_subtrees
NO_OVERFLOW_SIMPLE 0 cache->writeback_key_tree.cache->n_ksets
NO_OVERFLOW_SIMPLE 0 cache->writeback_key_tree.cache->req_key_tree.key_pool.min_nr
NO_OVERFLOW_SIMPLE 0 cache->writeback_key_tree.cache->req_key_tree.n_subtrees
NO_OVERFLOW_SIMPLE 0 cache->writeback_key_tree.n_subtrees
HALF_LOCKED2 &md->type_lock