Defined in 2 files as a function:

Referenced in 2 files:

Smatch caller information:

mm/compaction.c kswapd_is_running() -> pgdat_kswapd_unlock()

Type Parameter Key Value
PARAM_VALUE 0 pgdat 4096-ptr_max
PARAM_VALUE 0 pgdat->kswapd_lock.dep_map->name 0-255
PARAM_VALUE 0 pgdat->kswapd_lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 pgdat->kswapd_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 pgdat->kswapd_lock.first_waiter->task->blocked_on 0
PARAM_VALUE 0 pgdat->kswapd_lock.osq.tail.counter 0-s32max
BUF_SIZE 0 pgdat (-1),128
BUF_SIZE 0 pgdat (-1),128
DATA_SOURCE 0 pgdat $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &pgdat->kswapd_lock
TYPE_LOCK (struct pglist_data)->kswapd_lock

mm/vmscan.c kswapd_run() -> pgdat_kswapd_unlock()

Type Parameter Key Value
PARAM_VALUE 0 pgdat 4096-ptr_max
PARAM_VALUE 0 pgdat->kswapd_lock.dep_map->name 0-255
PARAM_VALUE 0 pgdat->kswapd_lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 pgdat->kswapd_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 pgdat->kswapd_lock.first_waiter->task->blocked_on 0
PARAM_VALUE 0 pgdat->kswapd_lock.osq.tail.counter 0-s32max
CAPPED_DATA 0 pgdat->kswapd 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &pgdat->kswapd_lock
HALF_LOCKED2 &dev->mutex
TYPE_LOCK (struct pglist_data)->kswapd_lock

mm/vmscan.c kswapd_stop() -> pgdat_kswapd_unlock()

Type Parameter Key Value
PARAM_VALUE 0 pgdat 4096-ptr_max
PARAM_VALUE 0 pgdat->kswapd 0
PARAM_VALUE 0 pgdat->kswapd_lock.dep_map->name 0-255
PARAM_VALUE 0 pgdat->kswapd_lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 pgdat->kswapd_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 pgdat->kswapd_lock.first_waiter->task->blocked_on 0
PARAM_VALUE 0 pgdat->kswapd_lock.osq.tail.counter 0-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &dev->mutex
LOCK2 0 &pgdat->kswapd_lock
HALF_LOCKED2 &device->physical_node_lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &device_hotplug_lock
TYPE_LOCK (struct device)->mutex
TYPE_LOCK (struct pglist_data)->kswapd_lock