/linux-6.12.1/arch/x86/include/asm/ |
D | resctrl.h | 99 u32 closid = state->default_closid; in __resctrl_sched_in() local 108 tmp = READ_ONCE(tsk->closid); in __resctrl_sched_in() 110 closid = tmp; in __resctrl_sched_in() 119 if (closid != state->cur_closid || rmid != state->cur_rmid) { in __resctrl_sched_in() 120 state->cur_closid = closid; in __resctrl_sched_in() 122 wrmsr(MSR_IA32_PQR_ASSOC, rmid, closid); in __resctrl_sched_in() 136 u32 closid, u32 rmid) in resctrl_arch_set_closid_rmid() argument 138 WRITE_ONCE(tsk->closid, closid); in resctrl_arch_set_closid_rmid() 142 static inline bool resctrl_arch_match_closid(struct task_struct *tsk, u32 closid) in resctrl_arch_match_closid() argument 144 return READ_ONCE(tsk->closid) == closid; in resctrl_arch_match_closid() [all …]
|
/linux-6.12.1/arch/x86/kernel/cpu/resctrl/ |
D | monitor.c | 44 u32 closid; member 181 u32 closid, rmid; in __rmid_entry() local 184 resctrl_arch_rmid_idx_decode(idx, &closid, &rmid); in __rmid_entry() 186 WARN_ON_ONCE(entry->closid != closid); in __rmid_entry() 357 closid_num_dirty_rmid[entry->closid]--; in limbo_release_entry() 395 if (resctrl_arch_rmid_read(r, d, entry->closid, entry->rmid, in __check_limbo() 410 trace_mon_llc_occupancy_limbo(entry->closid, entry->rmid, d->hdr.id, val); in __check_limbo() 431 static struct rmid_entry *resctrl_find_free_rmid(u32 closid) in resctrl_find_free_rmid() argument 447 itr_idx = resctrl_arch_rmid_idx_encode(itr->closid, itr->rmid); in resctrl_find_free_rmid() 448 cmp_idx = resctrl_arch_rmid_idx_encode(closid, itr->rmid); in resctrl_find_free_rmid() [all …]
|
D | ctrlmondata.c | 71 u32 closid = data->rdtgrp->closid; in parse_bw() local 85 d->mbps_val[closid] = bw_val; in parse_bw() 184 if (rdtgroup_cbm_overlaps(s, d, cbm_val, rdtgrp->closid, true)) { in parse_cbm() 189 if (rdtgroup_cbm_overlaps(s, d, cbm_val, rdtgrp->closid, false)) { in parse_cbm() 267 static u32 get_config_index(u32 closid, enum resctrl_conf_type type) in get_config_index() argument 272 return closid; in get_config_index() 274 return closid * 2 + 1; in get_config_index() 276 return closid * 2; in get_config_index() 281 u32 closid, enum resctrl_conf_type t, u32 cfg_val) in resctrl_arch_update_one() argument 285 u32 idx = get_config_index(closid, t); in resctrl_arch_update_one() [all …]
|
D | rdtgroup.c | 147 u32 closid; in closid_alloc() local 155 closid = cleanest_closid; in closid_alloc() 157 closid = ffs(closid_free_map); in closid_alloc() 158 if (closid == 0) in closid_alloc() 160 closid--; in closid_alloc() 162 __clear_bit(closid, &closid_free_map); in closid_alloc() 164 return closid; in closid_alloc() 167 void closid_free(int closid) in closid_free() argument 171 __set_bit(closid, &closid_free_map); in closid_free() 181 bool closid_allocated(unsigned int closid) in closid_allocated() argument [all …]
|
D | internal.h | 291 u32 closid; member 611 unsigned long cbm, int closid, bool exclusive); 614 enum rdtgrp_mode rdtgroup_mode_by_closid(int closid); 627 void closid_free(int closid); 628 int alloc_rmid(u32 closid); 629 void free_rmid(u32 closid, u32 rmid); 653 bool closid_allocated(unsigned int closid);
|
D | pseudo_lock.c | 492 __wrmsr(MSR_IA32_PQR_ASSOC, rmid_p, rdtgrp->closid); in pseudo_lock_fn() 753 free_rmid(rdtgrp->closid, rdtgrp->mon.rmid); in rdtgroup_locksetup_enter() 778 ret = alloc_rmid(rdtgrp->closid); in rdtgroup_locksetup_exit() 788 free_rmid(rdtgrp->closid, rdtgrp->mon.rmid); in rdtgroup_locksetup_exit() 1393 closid_free(rdtgrp->closid); in rdtgroup_pseudo_lock_create() 1436 closid_free(rdtgrp->closid); in rdtgroup_pseudo_lock_remove()
|
/linux-6.12.1/include/linux/ |
D | resctrl.h | 252 int resctrl_arch_update_domains(struct rdt_resource *r, u32 closid); 259 u32 closid, enum resctrl_conf_type t, u32 cfg_val); 262 u32 closid, enum resctrl_conf_type type); 296 u32 closid, u32 rmid, enum resctrl_event_id eventid, 329 u32 closid, u32 rmid,
|
D | sched.h | 1279 u32 closid; member
|
/linux-6.12.1/Documentation/arch/x86/ |
D | resctrl.rst | 718 - At this point the closid CLOSNEW can be released - the cache
|