[PATCH RFC v2 08/17] RISC-V: QoS: add resctrl interface for CBQRI controllers
Drew Fustini
fustini at kernel.org
Tue Feb 10 16:57:04 PST 2026
On Mon, Feb 09, 2026 at 10:16:49PM +0800, Gong Shuai wrote:
> Hi, Drew
>
> > Add interface for CBQRI controller drivers to make use of the resctrl
> > filesystem.
> >
> > Co-developed-by: Adrien Ricciardi <aricciardi at baylibre.com>
> > Signed-off-by: Adrien Ricciardi <aricciardi at baylibre.com>
> > Signed-off-by: Drew Fustini <fustini at kernel.org>
> >
> > ...
> >
> > +u32 resctrl_arch_get_config(struct rdt_resource *r, struct rdt_ctrl_domain *d,
> > + u32 closid, enum resctrl_conf_type type)
> > +{
> > + struct cbqri_resctrl_dom *hw_dom;
> > + struct cbqri_controller *ctrl;
> > + int reg_offset;
> > + u32 percent;
> > + u32 rbwb;
> > + u64 reg;
> > + int err;
> > +
> > + hw_dom = container_of(d, struct cbqri_resctrl_dom, resctrl_ctrl_dom);
> > +
> > + ctrl = hw_dom->hw_ctrl;
> > +
> > + if (!r->alloc_capable)
> > + return resctrl_get_default_ctrl(r);
> > +
> > + switch (r->rid) {
> > + case RDT_RESOURCE_L2:
> > + case RDT_RESOURCE_L3:
> > + /* Clear cc_block_mask before read limit operation */
> > + cbqri_set_cbm(ctrl, 0);
> > +
> > + /* Capacity read limit operation for RCID (closid) */
> > + err = cbqri_cc_alloc_op(ctrl, CBQRI_CC_ALLOC_CTL_OP_READ_LIMIT, type, closid);
>
> It looks like the parameter order might be incorrect. I believe it
> should be:
> cbqri_cc_alloc_op(ctrl, CBQRI_CC_ALLOC_CTL_OP_READ_LIMIT, closid, type);
Thanks, I will fix so that closid and type are the correct order.
>
> > + if (err < 0) {
> > + pr_err("%s(): operation failed: err = %d", __func__, err);
> > + return resctrl_get_default_ctrl(r);
> > + }
> > ...
>
> Sorry for the resend, my company email had some formatting issues,
> so I'm sending this from my personal address.
>
> Hope it doesn't cause any trouble!
No problem.
Thanks
Drew
More information about the linux-riscv
mailing list