/kernel/linux/linux-6.6/arch/x86/kernel/cpu/resctrl/ |
H A D | ctrlmondata.c | 64 u32 closid = data->rdtgrp->closid; in parse_bw() local 78 d->mbps_val[closid] = bw_val; in parse_bw() 172 * The CBM may not overlap with the CBM of another closid if in parse_cbm() 175 if (rdtgroup_cbm_overlaps(s, d, cbm_val, rdtgrp->closid, true)) { in parse_cbm() 180 if (rdtgroup_cbm_overlaps(s, d, cbm_val, rdtgrp->closid, false)) { in parse_cbm() 255 static u32 get_config_index(u32 closid, enum resctrl_conf_type type) in get_config_index() argument 260 return closid; in get_config_index() 262 return closid * 2 + 1; in get_config_index() 264 return closid * in get_config_index() 284 resctrl_arch_update_one(struct rdt_resource *r, struct rdt_domain *d, u32 closid, enum resctrl_conf_type t, u32 cfg_val) resctrl_arch_update_one() argument 305 resctrl_arch_update_domains(struct rdt_resource *r, u32 closid) resctrl_arch_update_domains() argument 450 resctrl_arch_get_config(struct rdt_resource *r, struct rdt_domain *d, u32 closid, enum resctrl_conf_type type) resctrl_arch_get_config() argument 459 show_doms(struct seq_file *s, struct resctrl_schema *schema, int closid) show_doms() argument 490 u32 closid; rdtgroup_schemata_show() local [all...] |
H A D | rdtgroup.c | 100 * + We can simply set "current->closid" to assign a task to a resource 135 u32 closid = ffs(closid_free_map); in closid_alloc() local 137 if (closid == 0) in closid_alloc() 139 closid--; in closid_alloc() 140 closid_free_map &= ~(1 << closid); in closid_alloc() 142 return closid; in closid_alloc() 145 void closid_free(int closid) in closid_free() argument 147 closid_free_map |= 1 << closid; in closid_free() 151 * closid_allocated - test if provided closid is in use 152 * @closid 157 closid_allocated(unsigned int closid) closid_allocated() argument 171 rdtgroup_mode_by_closid(int closid) rdtgroup_mode_by_closid() argument 1140 __rdtgroup_cbm_overlaps(struct rdt_resource *r, struct rdt_domain *d, unsigned long cbm, int closid, enum resctrl_conf_type type, bool exclusive) __rdtgroup_cbm_overlaps() argument 1195 rdtgroup_cbm_overlaps(struct resctrl_schema *s, struct rdt_domain *d, unsigned long cbm, int closid, bool exclusive) rdtgroup_cbm_overlaps() argument 1224 int closid = rdtgrp->closid; rdtgroup_mode_test_exclusive() local 1377 u32 closid; rdtgroup_size_show() local 3023 __init_one_rdt_domain(struct rdt_domain *d, struct resctrl_schema *s, u32 closid) __init_one_rdt_domain() argument 3101 rdtgroup_init_cat(struct resctrl_schema *s, u32 closid) rdtgroup_init_cat() argument 3116 rdtgroup_init_mba(struct rdt_resource *r, u32 closid) rdtgroup_init_mba() argument 3312 u32 closid; rdtgroup_mkdir_ctrl_mon() local [all...] |
H A D | internal.h | 210 * @closid: closid for this rdtgroup 224 u32 closid; member 384 * @num_closid: Maximum number of closid this hardware can support, 519 unsigned long cbm, int closid, bool exclusive); 522 enum rdtgrp_mode rdtgroup_mode_by_closid(int closid); 534 void closid_free(int closid);
|
H A D | monitor.c | 518 u32 closid, rmid, cur_msr_val, new_msr_val; in update_mba_bw() local 531 closid = rgrp->closid; in update_mba_bw() 542 user_bw = dom_mba->mbps_val[closid]; in update_mba_bw() 545 cur_msr_val = resctrl_arch_get_config(r_mba, dom_mba, closid, CDP_NONE); in update_mba_bw() 578 resctrl_arch_update_one(r_mba, dom_mba, closid, CDP_NONE, new_msr_val); in update_mba_bw()
|
H A D | pseudo_lock.c | 489 * Critical section begin: start by writing the closid associated in pseudo_lock_fn() 494 __wrmsr(MSR_IA32_PQR_ASSOC, rmid_p, rdtgrp->closid); in pseudo_lock_fn() 497 * into cache region associated with just activated plr->closid. in pseudo_lock_fn() 527 * Critical section end: restore closid with capacity bitmask that in pseudo_lock_fn() 657 * lose the closid associated with it so we cannot allow it to have any 674 * default closid associated with it. in rdtgroup_locksetup_enter() 1392 closid_free(rdtgrp->closid); in rdtgroup_pseudo_lock_create() 1433 * free closid here. in rdtgroup_pseudo_lock_remove() 1435 closid_free(rdtgrp->closid); in rdtgroup_pseudo_lock_remove()
|
/kernel/linux/linux-5.10/arch/x86/include/asm/ |
H A D | resctrl.h | 19 * The upper 32 bits of IA32_PQR_ASSOC contain closid and the 57 u32 closid = state->default_closid; in __resctrl_sched_in() local 62 * If this task has a closid/rmid assigned, use it. in __resctrl_sched_in() 63 * Else use the closid/rmid assigned to this cpu. in __resctrl_sched_in() 66 tmp = READ_ONCE(tsk->closid); in __resctrl_sched_in() 68 closid = tmp; in __resctrl_sched_in() 77 if (closid != state->cur_closid || rmid != state->cur_rmid) { in __resctrl_sched_in() 78 state->cur_closid = closid; in __resctrl_sched_in() 80 wrmsr(IA32_PQR_ASSOC, rmid, closid); in __resctrl_sched_in()
|
/kernel/linux/linux-6.6/arch/x86/include/asm/ |
H A D | resctrl.h | 17 * The upper 32 bits of MSR_IA32_PQR_ASSOC contain closid and the 55 u32 closid = state->default_closid; in __resctrl_sched_in() local 60 * If this task has a closid/rmid assigned, use it. in __resctrl_sched_in() 61 * Else use the closid/rmid assigned to this cpu. in __resctrl_sched_in() 64 tmp = READ_ONCE(tsk->closid); in __resctrl_sched_in() 66 closid = tmp; in __resctrl_sched_in() 75 if (closid != state->cur_closid || rmid != state->cur_rmid) { in __resctrl_sched_in() 76 state->cur_closid = closid; in __resctrl_sched_in() 78 wrmsr(MSR_IA32_PQR_ASSOC, rmid, closid); in __resctrl_sched_in()
|
/kernel/linux/linux-5.10/arch/x86/kernel/cpu/resctrl/ |
H A D | ctrlmondata.c | 160 * The CBM may not overlap with the CBM of another closid if in parse_cbm() 163 if (rdtgroup_cbm_overlaps(r, d, cbm_val, rdtgrp->closid, true)) { in parse_cbm() 168 if (rdtgroup_cbm_overlaps(r, d, cbm_val, rdtgrp->closid, false)) { in parse_cbm() 239 int update_domains(struct rdt_resource *r, int closid) in update_domains() argument 251 msr_param.low = closid; in update_domains() 258 if (d->have_new_ctrl && d->new_ctrl != dc[closid]) { in update_domains() 260 dc[closid] = d->new_ctrl; in update_domains() 290 if (!strcmp(resname, r->name) && rdtgrp->closid < r->num_closid) in rdtgroup_parse_resource() 353 ret = update_domains(r, rdtgrp->closid); in rdtgroup_schemata_write() 374 static void show_doms(struct seq_file *s, struct rdt_resource *r, int closid) in show_doms() argument 400 u32 closid; rdtgroup_schemata_show() local [all...] |
H A D | rdtgroup.c | 84 * + We can simply set "current->closid" to assign a task to a resource 119 u32 closid = ffs(closid_free_map); in closid_alloc() local 121 if (closid == 0) in closid_alloc() 123 closid--; in closid_alloc() 124 closid_free_map &= ~(1 << closid); in closid_alloc() 126 return closid; in closid_alloc() 129 void closid_free(int closid) in closid_free() argument 131 closid_free_map |= 1 << closid; in closid_free() 135 * closid_allocated - test if provided closid is in use 136 * @closid 141 closid_allocated(unsigned int closid) closid_allocated() argument 155 rdtgroup_mode_by_closid(int closid) rdtgroup_mode_by_closid() argument 1179 __rdtgroup_cbm_overlaps(struct rdt_resource *r, struct rdt_domain *d, unsigned long cbm, int closid, bool exclusive) __rdtgroup_cbm_overlaps() argument 1235 rdtgroup_cbm_overlaps(struct rdt_resource *r, struct rdt_domain *d, unsigned long cbm, int closid, bool exclusive) rdtgroup_cbm_overlaps() argument 1264 int closid = rdtgrp->closid; rdtgroup_mode_test_exclusive() local 2659 __init_one_rdt_domain(struct rdt_domain *d, struct rdt_resource *r, u32 closid) __init_one_rdt_domain() argument 2733 rdtgroup_init_cat(struct rdt_resource *r, u32 closid) rdtgroup_init_cat() argument 2928 u32 closid; rdtgroup_mkdir_ctrl_mon() local [all...] |
H A D | internal.h | 198 * @closid: closid for this rdtgroup 212 u32 closid; member 357 * closid * cbm_idx_multi + cbm_idx_offset 590 unsigned long cbm, int closid, bool exclusive); 593 enum rdtgrp_mode rdtgroup_mode_by_closid(int closid); 604 int update_domains(struct rdt_resource *r, int closid); 606 void closid_free(int closid);
|
H A D | monitor.c | 358 u32 closid, rmid, cur_msr, cur_msr_val, new_msr_val; in update_mba_bw() local 370 closid = rgrp->closid; in update_mba_bw() 381 user_bw = dom_mba->mbps_val[closid]; in update_mba_bw() 383 cur_msr_val = dom_mba->ctrl_val[closid]; in update_mba_bw() 418 cur_msr = r_mba->msr_base + closid; in update_mba_bw() 420 dom_mba->ctrl_val[closid] = new_msr_val; in update_mba_bw()
|
H A D | pseudo_lock.c | 471 * Critical section begin: start by writing the closid associated in pseudo_lock_fn() 476 __wrmsr(IA32_PQR_ASSOC, rmid_p, rdtgrp->closid); in pseudo_lock_fn() 479 * into cache region associated with just activated plr->closid. in pseudo_lock_fn() 509 * Critical section end: restore closid with capacity bitmask that in pseudo_lock_fn() 639 * lose the closid associated with it so we cannot allow it to have any 656 * default closid associated with it. in rdtgroup_locksetup_enter() 1372 closid_free(rdtgrp->closid); in rdtgroup_pseudo_lock_create() 1413 * free closid here. in rdtgroup_pseudo_lock_remove() 1415 closid_free(rdtgrp->closid); in rdtgroup_pseudo_lock_remove()
|
H A D | core.c | 177 static unsigned int cbm_idx(struct rdt_resource *r, unsigned int closid) in cbm_idx() argument 179 return closid * r->cache.cbm_idx_mult + r->cache.cbm_idx_offset; in cbm_idx()
|
/kernel/linux/linux-6.6/include/linux/ |
H A D | resctrl.h | 71 * by closid 195 * @num_closid: The number of closid that can be used with this schema. When 207 /* The number of closid supported by this resource regardless of CDP */ 209 int resctrl_arch_update_domains(struct rdt_resource *r, u32 closid); 216 u32 closid, enum resctrl_conf_type t, u32 cfg_val); 219 u32 closid, enum resctrl_conf_type type);
|
H A D | sched.h | 1348 u32 closid; member
|
/kernel/linux/linux-5.10/include/linux/ |
H A D | sched.h | 1241 u32 closid; member
|