rmid
u32 rmid = READ_ONCE(state->default_rmid);
tmp = READ_ONCE(tsk->rmid);
rmid = tmp;
if (closid != state->cur_closid || rmid != state->cur_rmid) {
state->cur_rmid = rmid;
wrmsr(MSR_IA32_PQR_ASSOC, rmid, closid);
u32 rmid)
WRITE_ONCE(per_cpu(pqr_state.default_rmid, cpu), rmid);
u32 closid, u32 rmid)
WRITE_ONCE(tsk->rmid, rmid);
u32 rmid)
return READ_ONCE(tsk->rmid) == rmid;
static inline void resctrl_arch_rmid_idx_decode(u32 idx, u32 *closid, u32 *rmid)
*rmid = idx;
static inline u32 resctrl_arch_rmid_idx_encode(u32 ignored, u32 rmid)
return rmid;
int intel_aet_read_event(int domid, u32 rmid, void *arch_priv, u64 *val)
idx = rmid * e->num_events;
int intel_aet_read_event(int domid, u32 rmid, void *arch_priv, u64 *val);
static inline int intel_aet_read_event(int domid, u32 rmid, void *arch_priv, u64 *val)
u32 rmid,
return state ? &state[rmid] : NULL;
u32 unused, u32 rmid,
am = get_arch_mbm_state(hw_dom, rmid, eventid);
prmid = logical_rmid_to_physical_rmid(cpu, rmid);
u32 rmid, enum resctrl_event_id eventid, u64 msr_val)
am = get_arch_mbm_state(hw_dom, rmid, eventid);
chunks = get_corrected_mbm_count(rmid, am->chunks);
u32 unused, u32 rmid, enum resctrl_event_id eventid,
return intel_aet_read_event(hdr->id, rmid, arch_priv, val);
prmid = logical_rmid_to_physical_rmid(cpu, rmid);
*val = get_corrected_val(r, d, rmid, eventid, msr_val);
am = get_arch_mbm_state(hw_dom, rmid, eventid);
u32 unused, u32 rmid, int cntr_id,
am = get_arch_mbm_state(hw_dom, rmid, eventid);
u32 unused, u32 rmid, int cntr_id,
*val = get_corrected_val(r, d, rmid, eventid, msr_val);
enum resctrl_event_id evtid, u32 rmid, u32 closid,
abmc_cfg.split.bw_src = rmid;
am = get_arch_mbm_state(hw_dom, rmid, evtid);
static inline u64 get_corrected_mbm_count(u32 rmid, unsigned long val)
if (rmid > mbm_cf_rmidthreshold)
this_cpu_write(pqr_state.default_rmid, r->rmid);
const u32 rmid = ctrl->entries[i].engineData[ENGINE_INFO_TYPE_RM_ENGINE_TYPE];
inst = rm->api->fifo->xlat_rm_engine_type(rmid, &type, &nv2080);
nvkm_warn(subdev, "RM_ENGINE_TYPE 0x%x\n", rmid);
return &feature->table.rmid.watcher;
return &feature->table.rmid.watcher.command;
return sysfs_emit(buf, "%u\n", feature->table.rmid.num_rmids);
entry->num_rmids = f->table.rmid.num_rmids;
struct rmid rmid;
u32 rmid;
void free_rmid(u32 closid, u32 rmid);
u32 closid, rmid;
resctrl_arch_rmid_idx_decode(idx, &closid, &rmid);
WARN_ON_ONCE(entry->rmid != rmid);
enum resctrl_event_id evtid, u32 rmid, u32 closid,
resctrl_arch_config_cntr(r, d, evtid, rmid, closid, cntr_id, assign);
m = get_mbm_state(d, closid, rmid, evtid);
rdtgroup_assign_cntr(r, d, mevt->evtid, rdtgrp->mon.rmid, rdtgrp->closid, cntr_id, true);
rdtgroup_assign_cntr(r, d, mevt->evtid, rdtgrp->mon.rmid, rdtgrp->closid, cntr_id, false);
rdtgroup_assign_cntr(r, d, evtid, rdtgrp->mon.rmid,
if (resctrl_arch_rmid_read(r, &d->hdr, entry->closid, entry->rmid,
trace_mon_llc_occupancy_limbo(entry->closid, entry->rmid, d->hdr.id, val);
itr_idx = resctrl_arch_rmid_idx_encode(itr->closid, itr->rmid);
cmp_idx = resctrl_arch_rmid_idx_encode(closid, itr->rmid);
return entry->rmid;
idx = resctrl_arch_rmid_idx_encode(entry->closid, entry->rmid);
void free_rmid(u32 closid, u32 rmid)
u32 idx = resctrl_arch_rmid_idx_encode(closid, rmid);
u32 rmid, enum resctrl_event_id evtid)
u32 idx = resctrl_arch_rmid_idx_encode(closid, rmid);
u32 rmid = rdtgrp->mon.rmid;
resctrl_arch_reset_cntr(rr->r, d, closid, rmid, cntr_id, rr->evt->evtid);
resctrl_arch_reset_rmid(rr->r, d, closid, rmid, rr->evt->evtid);
m = get_mbm_state(d, closid, rmid, rr->evt->evtid);
u32 rmid;
rr->err = resctrl_arch_cntr_read(rr->r, d, closid, rmid, cntr_id,
rr->err = resctrl_arch_rmid_read(rr->r, rr->hdr, closid, rmid,
u32 rmid = rdtgrp->mon.rmid;
err = resctrl_arch_rmid_read(rr->r, &d->hdr, closid, rmid,
rdtgrp->mon.rmid, rr->evt->evtid,
u32 rmid = rdtgrp->mon.rmid;
m = get_mbm_state(d, closid, rmid, rr->evt->evtid);
u32 closid, rmid, cur_msr_val, new_msr_val;
rmid = rgrp->mon.rmid;
pmbm_data = get_mbm_state(dom_mbm, closid, rmid, evt_id);
cmbm_data = get_mbm_state(dom_mbm, entry->closid, entry->mon.rmid, evt_id);
resctrl_arch_rmid_idx_decode(i, &entry->closid, &entry->rmid);
free_rmid(rdtgrp->closid, rdtgrp->mon.rmid);
rdtgrp->mon.rmid = ret;
free_rmid(rdtgrp->closid, rdtgrp->mon.rmid);
to->mon.rmid);
free_rmid(sentry->closid, sentry->mon.rmid);
free_rmid(rdtgrp->closid, rdtgrp->mon.rmid);
rdtgrp->mon.rmid = ret;
free_rmid(rdtgrp->closid, rdtgrp->mon.rmid);
free_rmid(rgrp->closid, rgrp->mon.rmid);
u32 closid, rmid;
defaults.rmid = r->mon.rmid;
rmid = prdtgrp->mon.rmid;
resctrl_arch_set_cpu_default_closid_rmid(cpu, closid, rmid);
free_rmid(rdtgrp->closid, rdtgrp->mon.rmid);
u32 closid, rmid;
rmid = rdtgroup_default.mon.rmid;
resctrl_arch_set_cpu_default_closid_rmid(cpu, closid, rmid);
free_rmid(rdtgrp->closid, rdtgrp->mon.rmid);
rdtgroup_default.mon.rmid = RESCTRL_RESERVED_RMID;
u32 closid, rmid = rdtgrp->mon.rmid;
resctrl_arch_match_rmid(tsk, closid, rmid);
rdtgrp->mon.rmid);
rdtgrp->mon.rmid);
r->mon.rmid));
seq_printf(s, "%u\n", rdtgrp->mon.rmid);
crg->mon.rmid))
u32 rmid;
u32 closid, u32 rmid, enum resctrl_event_id eventid,
u32 closid, u32 rmid,
enum resctrl_event_id evtid, u32 rmid, u32 closid,
u32 closid, u32 rmid, int cntr_id,
u32 closid, u32 rmid, int cntr_id,
u32 rmid;