Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

block/blk-iocost.c adjust_inuse_and_calc_cost() -> current_hweight()

Type Parameter Key Value
PARAM_VALUE 0 iocg 4096-ptr_max
PARAM_VALUE 0 iocg->level s32min-(-1),1-s32max
PARAM_VALUE 1 hw_activep 0
PARAM_VALUE 2 hw_inusep 6861452303343411200
DATA_SOURCE 0 iocg $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock

block/blk-iocost.c adjust_inuse_and_calc_cost() -> current_hweight()

Type Parameter Key Value
PARAM_VALUE 0 iocg 4096-ptr_max
PARAM_VALUE 0 iocg->hweight_active 1-u32max
PARAM_VALUE 0 iocg->hweight_inuse 1-u32max
PARAM_VALUE 0 iocg->ioc 4096-ptr_max
PARAM_VALUE 0 iocg->level s32min-(-1),1-s32max
PARAM_VALUE 1 hw_activep 0
PARAM_VALUE 2 hw_inusep 6861452303343411200
CAPPED_DATA 0 &iocg->active_list 1
DATA_SOURCE 0 iocg $0
PARAM_COMPARE 0 iocg->active != $0->inuse
PARAM_COMPARE 0 &iocg->active_list != $0->active_list.next
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ioc->lock
LOCK2 flags
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
TYPE_LOCK (struct ioc)->lock

block/blk-iocost.c ioc_check_iocgs() -> current_hweight()

Type Parameter Key Value
PARAM_VALUE 0 iocg 4096-ptr_max
PARAM_VALUE 0 iocg->ioc 4096-ptr_max
PARAM_VALUE 1 hw_activep 0
PARAM_VALUE 2 hw_inusep 1240953081879666688
CAPPED_DATA 0 &iocg->active_list 1
PARAM_COMPARE 0 &iocg->waitq.head == $0->waitq.head.next
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ioc->lock
LOCK2 irq
LOCK2 0 &iocg->waitq.lock
TYPE_LOCK (struct ioc)->lock
TYPE_LOCK (struct wait_queue_head)->lock

block/blk-iocost.c ioc_timer_fn() -> current_hweight()

Type Parameter Key Value
PARAM_VALUE 0 iocg 4096-ptr_max
PARAM_VALUE 1 hw_activep 2095492511570329600
PARAM_VALUE 2 hw_inusep 2214592718387847168
CAPPED_DATA 0 &iocg->active_list 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ioc->lock
LOCK2 irq
TYPE_LOCK (struct ioc)->lock

block/blk-iocost.c ioc_timer_fn() -> current_hweight()

Type Parameter Key Value
PARAM_VALUE 0 iocg 4096-ptr_max
PARAM_VALUE 0 iocg->ioc 4096-ptr_max
PARAM_VALUE 1 hw_activep 5166254738227347456
PARAM_VALUE 2 hw_inusep 8237357636998557696
CAPPED_DATA 0 &iocg->active_list 1
CAPPED_DATA 0 &iocg->surplus_list 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ioc->lock
LOCK2 irq
TYPE_LOCK (struct ioc)->lock

block/blk-iocost.c iocg_kick_delay() -> current_hweight()

Type Parameter Key Value
PARAM_VALUE 0 iocg 4096-ptr_max
PARAM_VALUE 0 iocg->ioc 4096-ptr_max
PARAM_VALUE 1 hw_activep 2736467250754310144
PARAM_VALUE 2 hw_inusep 0
DATA_SOURCE 0 iocg $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &iocg->waitq.lock
HALF_LOCKED2 &ioc->lock
HALF_LOCKED2 flags
HALF_LOCKED2 0 &iocg->ioc->lock
TYPE_LOCK (struct wait_queue_head)->lock

block/blk-iocost.c iocg_kick_waitq() -> current_hweight()

Type Parameter Key Value
PARAM_VALUE 0 iocg 4096-ptr_max
PARAM_VALUE 1 hw_activep 3328612911632715776
PARAM_VALUE 2 hw_inusep 0
DATA_SOURCE 0 iocg $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &iocg->waitq.lock
HALF_LOCKED2 &ioc->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
HALF_LOCKED2 0 &iocg->ioc->lock
TYPE_LOCK (struct wait_queue_head)->lock

block/blk-iocost.c iocg_kick_waitq() -> current_hweight()

Type Parameter Key Value
PARAM_VALUE 0 iocg 4096-ptr_max
PARAM_VALUE 0 iocg->ioc 4096-ptr_max
PARAM_VALUE 1 hw_activep 0
PARAM_VALUE 2 hw_inusep 6877714444579045384
PARAM_VALUE 2 *hw_inusep 0
DATA_SOURCE 0 iocg $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &iocg->waitq.lock
HALF_LOCKED2 &ioc->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
HALF_LOCKED2 0 &iocg->ioc->lock
TYPE_LOCK (struct wait_queue_head)->lock

block/blk-iocost.c transfer_surpluses() -> current_hweight()

Type Parameter Key Value
PARAM_VALUE 0 iocg 4096-ptr_max
PARAM_VALUE 1 hw_activep 6172693238701953024
PARAM_VALUE 2 hw_inusep 0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ioc->lock
LOCK2 irq
TYPE_LOCK (struct ioc)->lock