Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 4 files:

Smatch caller information:

fs/resctrl/pseudo_lock.c rdtgroup_locksetup_exit() -> resctrl_arch_mon_capable()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
LOCK2 global &rdtgroup_mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

fs/resctrl/pseudo_lock.c rdtgroup_locksetup_user_restore() -> resctrl_arch_mon_capable()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
LOCK2 global &rdtgroup_mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

fs/resctrl/pseudo_lock.c rdtgroup_locksetup_user_restrict() -> resctrl_arch_mon_capable()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
LOCK2 global &rdtgroup_mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

fs/resctrl/rdtgroup.c is_rmid_match() -> resctrl_arch_mon_capable()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &rdtgroup_mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &s->lock
HALF_LOCKED2 global &tasklist_lock
HALF_LOCKED2 rcu_read

fs/resctrl/rdtgroup.c mkdir_rdt_prepare() -> resctrl_arch_mon_capable()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &rdtgroup_mutex
HALF_LOCKED2 &dentry->d_lockref.lock

fs/resctrl/rdtgroup.c mkdir_rdt_prepare_rmid_alloc() -> resctrl_arch_mon_capable()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &rdtgroup_mutex
HALF_LOCKED2 &dentry->d_lockref.lock

fs/resctrl/rdtgroup.c mkdir_rdt_prepare_rmid_free() -> resctrl_arch_mon_capable()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &rdtgroup_mutex
HALF_LOCKED2 &dentry->d_lockref.lock

fs/resctrl/rdtgroup.c rdt_get_tree() -> resctrl_arch_mon_capable()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &rdtgroup_mutex
HALF_LOCKED2 &fc->uapi_mutex
HALF_LOCKED2 global &once_mutex

fs/resctrl/rdtgroup.c rdt_get_tree() -> resctrl_arch_mon_capable()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &rdtgroup_mutex
HALF_LOCKED2 &fc->uapi_mutex
HALF_LOCKED2 global &once_mutex

fs/resctrl/rdtgroup.c rdt_get_tree() -> resctrl_arch_mon_capable()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &rdtgroup_mutex
HALF_LOCKED2 &fc->uapi_mutex
HALF_LOCKED2 global &once_mutex

fs/resctrl/rdtgroup.c rdt_get_tree() -> resctrl_arch_mon_capable()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &rdtgroup_mutex
HALF_LOCKED2 &fc->uapi_mutex
HALF_LOCKED2 global &once_mutex

fs/resctrl/rdtgroup.c rdt_get_tree() -> resctrl_arch_mon_capable()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &rdtgroup_mutex
HALF_LOCKED2 &fc->uapi_mutex
HALF_LOCKED2 global &once_mutex

fs/resctrl/rdtgroup.c rdt_get_tree() -> resctrl_arch_mon_capable()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &rdtgroup_mutex
HALF_LOCKED2 &fc->uapi_mutex
HALF_LOCKED2 global &once_mutex

fs/resctrl/rdtgroup.c rdtgroup_mkdir() -> resctrl_arch_mon_capable()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dentry->d_lockref.lock

fs/resctrl/rdtgroup.c rdtgroup_mkdir_ctrl_mon() -> resctrl_arch_mon_capable()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &rdtgroup_mutex
HALF_LOCKED2 &dentry->d_lockref.lock

fs/resctrl/rdtgroup.c resctrl_offline_mon_domain() -> resctrl_arch_mon_capable()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &domain_list_lock
LOCK2 global &rdtgroup_mutex
HALF_LOCKED2 global &cpuhp_state_mutex
HALF_LOCKED2 irq

fs/resctrl/rdtgroup.c resctrl_online_mon_domain() -> resctrl_arch_mon_capable()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &domain_list_lock
LOCK2 global &rdtgroup_mutex
HALF_LOCKED2 global &once_mutex

fs/resctrl/rdtgroup.c resctrl_unmount() -> resctrl_arch_mon_capable()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &rdtgroup_mutex

fs/resctrl/monitor.c free_rmid() -> resctrl_arch_mon_capable()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &rdtgroup_mutex
HALF_LOCKED2 &dentry->d_inode->i_rwsem
HALF_LOCKED2 &of->mutex

fs/resctrl/monitor.c free_rmid_lru_list() -> resctrl_arch_mon_capable()

Type Parameter Key Value

fs/resctrl/monitor.c mbm_handle_overflow() -> resctrl_arch_mon_capable()

Type Parameter Key Value
LOCK2 global &rdtgroup_mutex
HALF_LOCKED2 &pool->lock

fs/resctrl/monitor.c mbm_setup_overflow_handler() -> resctrl_arch_mon_capable()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &rdtgroup_mutex
HALF_LOCKED2 global &domain_list_lock

fs/resctrl/monitor.c setup_rmid_lru_list() -> resctrl_arch_mon_capable()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &rdtgroup_mutex
HALF_LOCKED2 &fc->uapi_mutex
HALF_LOCKED2 global &once_mutex