Defined in 5 files as a prototype:

Defined in 1 files as a member:

Defined in 1 files as a macro:

Defined in 25 files as a function:

Referenced in 16 files:

Smatch caller information:

kernel/fork.c do_shoot_lazy_tlb() -> switch_mm()

Type Parameter Key Value
PARAM_VALUE 1 next 7138969414219841536
CAPPED_DATA 0 prev 1
DATA_SOURCE 0 prev $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 prev unit_byte
HALF_LOCKED2 flags

arch/x86/mm/tlb.c leave_mm() -> switch_mm()

Type Parameter Key Value
PARAM_VALUE 0 prev 0
PARAM_VALUE 1 next 7138969414219841536
PARAM_VALUE 2 tsk 0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 next unit_byte
HALF_LOCKED2 _T->flags
HALF_LOCKED2 irq

drivers/gpu/drm/i915/gt/intel_ring_submission.c clear_residuals() -> switch_mm()

Type Parameter Key Value
PARAM_VALUE 0 prev 4096-ptr_max
PARAM_VALUE 0 prev->batch 0
PARAM_VALUE 0 prev->context 4096-ptr_max
PARAM_VALUE 0 prev->context->active.cache->timeline 0-s64max
PARAM_VALUE 0 prev->context->engine 4096-ptr_max
PARAM_VALUE 0 prev->context->engine->gt->i915->runtime_pm.kdev->power.wakeirq->status 0-4294967295
PARAM_VALUE 0 prev->context->engine->wakeref.i915->runtime_pm.kdev->power.wakeirq->status 0-4294967295
PARAM_VALUE 0 prev->context->parallel.parent->active.cache->timeline 0-s64max
PARAM_VALUE 0 prev->context->timeline 4096-ptr_max
PARAM_VALUE 0 prev->context->vm->gt->wakeref.i915->runtime_pm.kdev->power.wakeirq->status 0-4294967295
PARAM_VALUE 0 prev->context->wakeref->alloc_stack_handle 0-4294967295
PARAM_VALUE 0 prev->context->wakeref->dead 0-1
PARAM_VALUE 0 prev->context->wakeref->free_stack_handle 0-4294967295
PARAM_VALUE 0 prev->engine 4096-ptr_max
PARAM_VALUE 0 prev->engine->kernel_context 4096-ptr_max
PARAM_VALUE 0 prev->engine->kernel_context->vm 4096-ptr_max
PARAM_VALUE 0 prev->engine->wa_ctx.vma 4096-ptr_max
PARAM_VALUE 0 prev->fence.cb_list.next 4096-ptr_max
PARAM_VALUE 0 prev->fence.cb_list.next->next 4096-ptr_max
PARAM_VALUE 0 prev->fence.cb_list.prev 4096-ptr_max
PARAM_VALUE 0 prev->fence.cb_list.prev->next 4096-ptr_max
PARAM_VALUE 0 prev->fence.cb_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 prev->fence.error 0
PARAM_VALUE 0 prev->fence.extern_lock 1-u64max
PARAM_VALUE 0 prev->fence.flags 1,3,5,7
PARAM_VALUE 0 prev->fence.ops 770600201147228160
PARAM_VALUE 0 prev->fence.ops->enable_signaling 0,4096-ptr_max
PARAM_VALUE 0 prev->fence.ops->get_driver_name 4096-ptr_max
PARAM_VALUE 0 prev->fence.ops->get_timeline_name 4096-ptr_max
PARAM_VALUE 0 prev->fence.ops->release 0,4096-ptr_max
PARAM_VALUE 0 prev->fence.ops->set_deadline 0,2004285741546172416,2071105144755478528,2853440610722889728,3558081686514302976,5221404334427111424
PARAM_VALUE 0 prev->fence.ops->signaled 0,4096-ptr_max
PARAM_VALUE 0 prev->fence.ops->wait 0,3162960082638938112,3576649960670945280,4783308308267675648,5257098353859239936
PARAM_VALUE 0 prev->fence.seqno 0-u32max
PARAM_VALUE 0 prev->guc_prio 255
PARAM_VALUE 0 prev->rcustate 0,4-u64max
PARAM_VALUE 0 prev->ring 4096-ptr_max
PARAM_VALUE 0 prev->sched.attr.priority s32min
PARAM_VALUE 0 prev->sched.flags 0
PARAM_VALUE 0 prev->sched.semaphores 0
PARAM_VALUE 0 prev->timeline 4096-ptr_max
PARAM_VALUE 0 prev->watchdog.timer._softexpires 0
PARAM_VALUE 0 prev->watchdog.timer.base 4096-ptr_max
PARAM_VALUE 0 prev->watchdog.timer.function 1-u64max
PARAM_VALUE 0 prev->watchdog.timer.is_hard 0
PARAM_VALUE 0 prev->watchdog.timer.is_lazy 0
PARAM_VALUE 0 prev->watchdog.timer.is_queued 0
PARAM_VALUE 0 prev->watchdog.timer.is_rel 0
PARAM_VALUE 0 prev->watchdog.timer.is_soft 0
PARAM_VALUE 0 prev->watchdog.timer.node.expires 0
PARAM_VALUE 0 prev->watchdog.timer.node.node.next 0
PARAM_VALUE 0 prev->watchdog.timer.node.node.prev 0
BUF_SIZE 0 prev->context (-1)-s32max
BUF_SIZE 0 prev->timeline (-1),728
BUF_SIZE 1 next (-1),1208
DATA_SOURCE 0 prev $0
STR_LEN 0 prev->context->engine (-1),3,6
STR_LEN 0 prev->engine (-1),3,6
MEM_ZERO 0 &prev->watchdog.timer
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 prev->engine->execlists.reset_ccid 0-u32max
NO_OVERFLOW_SIMPLE 0 prev->context->ring_size
HALF_LOCKED2 &ce->timeline->mutex
HALF_LOCKED2 &wf->mutex

drivers/gpu/drm/i915/gt/intel_ring_submission.c switch_context() -> switch_mm()

Type Parameter Key Value
PARAM_VALUE 0 prev 4096-ptr_max
PARAM_VALUE 0 prev->batch 0
PARAM_VALUE 0 prev->context 4096-ptr_max
PARAM_VALUE 0 prev->context->active.cache->timeline 0-s64max
PARAM_VALUE 0 prev->context->engine 4096-ptr_max
PARAM_VALUE 0 prev->context->engine->gt->i915->runtime_pm.kdev->power.wakeirq->status 0-4294967295
PARAM_VALUE 0 prev->context->engine->wakeref.i915->runtime_pm.kdev->power.wakeirq->status 0-4294967295
PARAM_VALUE 0 prev->context->parallel.parent->active.cache->timeline 0-s64max
PARAM_VALUE 0 prev->context->timeline 4096-ptr_max
PARAM_VALUE 0 prev->context->vm 4096-ptr_max
PARAM_VALUE 0 prev->context->vm->gt->wakeref.i915->runtime_pm.kdev->power.wakeirq->status 0-4294967295
PARAM_VALUE 0 prev->context->wakeref->alloc_stack_handle 0-4294967295
PARAM_VALUE 0 prev->context->wakeref->dead 0-1
PARAM_VALUE 0 prev->context->wakeref->free_stack_handle 0-4294967295
PARAM_VALUE 0 prev->engine 4096-ptr_max
PARAM_VALUE 0 prev->fence.cb_list.next 4096-ptr_max
PARAM_VALUE 0 prev->fence.cb_list.next->next 4096-ptr_max
PARAM_VALUE 0 prev->fence.cb_list.prev 4096-ptr_max
PARAM_VALUE 0 prev->fence.cb_list.prev->next 4096-ptr_max
PARAM_VALUE 0 prev->fence.cb_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 prev->fence.error 0
PARAM_VALUE 0 prev->fence.extern_lock 1-u64max
PARAM_VALUE 0 prev->fence.flags 1,3,5,7
PARAM_VALUE 0 prev->fence.ops 770600201147228160
PARAM_VALUE 0 prev->fence.ops->enable_signaling 0,4096-ptr_max
PARAM_VALUE 0 prev->fence.ops->get_driver_name 4096-ptr_max
PARAM_VALUE 0 prev->fence.ops->get_timeline_name 4096-ptr_max
PARAM_VALUE 0 prev->fence.ops->release 0,4096-ptr_max
PARAM_VALUE 0 prev->fence.ops->set_deadline 0,2004285741546172416,2071105144755478528,2853440610722889728,3558081686514302976,5221404334427111424
PARAM_VALUE 0 prev->fence.ops->signaled 0,4096-ptr_max
PARAM_VALUE 0 prev->fence.ops->wait 0,3162960082638938112,3576649960670945280,4783308308267675648,5257098353859239936
PARAM_VALUE 0 prev->fence.seqno 0-u32max
PARAM_VALUE 0 prev->guc_prio 255
PARAM_VALUE 0 prev->rcustate 0,4-u64max
PARAM_VALUE 0 prev->ring 4096-ptr_max
PARAM_VALUE 0 prev->sched.attr.priority s32min
PARAM_VALUE 0 prev->sched.flags 0
PARAM_VALUE 0 prev->sched.semaphores 0
PARAM_VALUE 0 prev->timeline 4096-ptr_max
PARAM_VALUE 0 prev->watchdog.timer._softexpires 0
PARAM_VALUE 0 prev->watchdog.timer.base 4096-ptr_max
PARAM_VALUE 0 prev->watchdog.timer.function 1-u64max
PARAM_VALUE 0 prev->watchdog.timer.is_hard 0
PARAM_VALUE 0 prev->watchdog.timer.is_lazy 0
PARAM_VALUE 0 prev->watchdog.timer.is_queued 0
PARAM_VALUE 0 prev->watchdog.timer.is_rel 0
PARAM_VALUE 0 prev->watchdog.timer.is_soft 0
PARAM_VALUE 0 prev->watchdog.timer.node.expires 0
PARAM_VALUE 0 prev->watchdog.timer.node.node.next 0
PARAM_VALUE 0 prev->watchdog.timer.node.node.prev 0
BUF_SIZE 0 prev->context (-1)-s32max
BUF_SIZE 0 prev->timeline (-1),728
BUF_SIZE 1 next (-1),1208
CAPPED_DATA 0 prev->engine 1
CAPPED_DATA 0 prev->ring 1
DATA_SOURCE 0 prev $0
STR_LEN 0 prev->context->engine (-1),3,6
STR_LEN 0 prev->engine (-1),3,6
MEM_ZERO 0 &prev->watchdog.timer
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 prev->engine->execlists.reset_ccid 0-u32max
NO_OVERFLOW_SIMPLE 0 prev->context->ring_size
NO_OVERFLOW_SIMPLE 0 prev->ring->size
HALF_LOCKED2 &ce->timeline->mutex
HALF_LOCKED2 &wf->mutex