[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