All of lore.kernel.org
 help / color / mirror / Atom feed
From: Drew Fustini <fustini@kernel.org>
To: yunhui cui <cuiyunhui@bytedance.com>
Cc: "Paul Walmsley" <pjw@kernel.org>,
	"Palmer Dabbelt" <palmer@dabbelt.com>,
	"Albert Ou" <aou@eecs.berkeley.edu>,
	"Alexandre Ghiti" <alex@ghiti.fr>,
	"Radim Krčmář" <rkrcmar@ventanamicro.com>,
	"Samuel Holland" <samuel.holland@sifive.com>,
	"Adrien Ricciardi" <aricciardi@baylibre.com>,
	"Nicolas Pitre" <npitre@baylibre.com>,
	"Kornel Dulęba" <mindal@semihalf.com>,
	"Atish Patra" <atish.patra@linux.dev>,
	"Atish Kumar Patra" <atishp@rivosinc.com>,
	"Vasudevan Srinivasan" <vasu@rivosinc.com>,
	"Ved Shanbhogue" <ved@rivosinc.com>,
	"Conor Dooley" <conor.dooley@microchip.com>,
	"Chen Pei" <cp0613@linux.alibaba.com>,
	"Liu Zhiwei" <zhiwei_liu@linux.alibaba.com>,
	"Weiwei Li" <liwei1518@gmail.com>,
	guo.wenjia23@zte.com.cn,
	"Gong Shuai" <gong.shuai@sanechips.com.cn>,
	"Gong Shuai" <gsh517@gmail.com>,
	liu.qingtao2@zte.com.cn,
	"Reinette Chatre" <reinette.chatre@intel.com>,
	"Tony Luck" <tony.luck@intel.com>,
	"Babu Moger" <babu.moger@amd.com>,
	"Peter Newman" <peternewman@google.com>,
	"Fenghua Yu" <fenghua.yu@intel.com>,
	"James Morse" <james.morse@arm.com>,
	"Ben Horgan" <ben.horgan@arm.com>,
	"Dave Martin" <Dave.Martin@arm.com>,
	"Rob Herring" <robh@kernel.org>,
	"Conor Dooley" <conor+dt@kernel.org>,
	"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	"Len Brown" <lenb@kernel.org>,
	"Robert Moore" <robert.moore@intel.com>,
	"Sunil V L" <sunilvl@ventanamicro.com>,
	linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org,
	x86@kernel.org, linux-acpi@vger.kernel.org,
	acpica-devel@lists.linux.dev, devicetree@vger.kernel.org,
	"Paul Walmsley" <paul.walmsley@sifive.com>
Subject: Re: [External] [PATCH RFC v3 04/11] RISC-V: QoS: add CBQRI hardware interface
Date: Wed, 6 May 2026 07:28:26 -0700	[thread overview]
Message-ID: <aftQCk7f+hpBMkl3@x1> (raw)
In-Reply-To: <CAEEQ3wmkSyThakHy=fe-uNAZbzGaSM=avsqdgcZ2ZTkPNvCkMA@mail.gmail.com>

On Tue, May 05, 2026 at 12:43:46PM +0800, yunhui cui wrote:
> Hi Drew,
> 
> On Wed, Apr 15, 2026 at 9:57 AM Drew Fustini <fustini@kernel.org> wrote:
> >
> > Add the CBQRI controller hardware interface layer.
> >
> > Define data structures representing CBQRI controller properties
> > (cbqri_controller) and hardware capabilities for capacity and bandwidth
> > controllers (riscv_cbqri_capacity_caps, riscv_cbqri_bandwidth_caps) in
> > include/linux/riscv_qos.h.
> >
> > Define MMIO register offsets, field masks, and internal wrapper structs
> > (cbqri_resctrl_res, cbqri_resctrl_dom, cbqri_config) in internal.h.
> >
> > Implement MMIO helpers for capacity block mask and bandwidth reservation,
> > alloc control operations for capacity and bandwidth controllers, and
> > probe functions to discover controller capabilities. A per-controller
> > spinlock serializes multi-step MMIO sequences.
> >
> > Co-developed-by: Adrien Ricciardi <aricciardi@baylibre.com>
> > Signed-off-by: Adrien Ricciardi <aricciardi@baylibre.com>
> > Signed-off-by: Drew Fustini <fustini@kernel.org>
> > ---
> >  MAINTAINERS                         |   1 +
> >  arch/riscv/kernel/qos/internal.h    |  81 +++++++
> >  arch/riscv/kernel/qos/qos_resctrl.c | 432 ++++++++++++++++++++++++++++++++++++
> >  include/linux/riscv_qos.h           |  76 +++++++
> >  4 files changed, 590 insertions(+)
> >
[..]
> > +/* Set capacity block mask (cc_block_mask) */
> > +static void cbqri_set_cbm(struct cbqri_controller *ctrl, u64 cbm)
> > +{
> > +       iowrite64(cbm, ctrl->base + CBQRI_CC_BLOCK_MASK_OFF);
> > +}
> 
>  CBQRI capacity limits appear to include both cc_block_mask and
> cc_cunits, but only cc_block_mask seems to be modeled here. How is
> cc_cunits expected to be handled?

There was no match for cc_units in the existing resctrl schema so I had
planned to wait until the initial support is reviewed and merged to
propose support for cc_units.

Thanks,
Drew

WARNING: multiple messages have this Message-ID (diff)
From: Drew Fustini <fustini@kernel.org>
To: yunhui cui <cuiyunhui@bytedance.com>
Cc: x86@kernel.org, "Atish Patra" <atish.patra@linux.dev>,
	"Adrien Ricciardi" <aricciardi@baylibre.com>,
	"Atish Kumar Patra" <atishp@rivosinc.com>,
	"Conor Dooley" <conor+dt@kernel.org>,
	"Nicolas Pitre" <npitre@baylibre.com>,
	linux-kernel@vger.kernel.org,
	"Gong Shuai" <gong.shuai@sanechips.com.cn>,
	"Liu Zhiwei" <zhiwei_liu@linux.alibaba.com>,
	guo.wenjia23@zte.com.cn,
	"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
	linux-riscv@lists.infradead.org, "Rob Herring" <robh@kernel.org>,
	"Alexandre Ghiti" <alex@ghiti.fr>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	acpica-devel@lists.linux.dev,
	"Robert Moore" <robert.moore@intel.com>,
	liu.qingtao2@zte.com.cn, linux-acpi@vger.kernel.org,
	"Ben Horgan" <ben.horgan@arm.com>,
	"James Morse" <james.morse@arm.com>,
	"Radim Krčmář" <rkrcmar@ventanamicro.com>,
	"Dave Martin" <Dave.Martin@arm.com>,
	"Len Brown" <lenb@kernel.org>, "Gong Shuai" <gsh517@gmail.com>,
	"Fenghua Yu" <fenghua.yu@intel.com>,
	"Chen Pei" <cp0613@linux.alibaba.com>,
	"Albert Ou" <aou@eecs.berkeley.edu>,
	"Kornel Dulęba" <mindal@semihalf.com>,
	"Babu Moger" <babu.moger@amd.com>,
	"Weiwei Li" <liwei1518@gmail.com>,
	"Paul Walmsley" <paul.walmsley@sifive.com>,
	"Ved Shanbhogue" <ved@rivosinc.com>,
	"Reinette Chatre" <reinette.chatre@intel.com>,
	"Vasudevan Srinivasan" <vasu@rivosinc.com>,
	"Tony Luck" <tony.luck@intel.com>,
	"Peter Newman" <peternewman@google.com>,
	"Conor Dooley" <conor.dooley@microchip.com>,
	"Samuel Holland" <samuel.holland@sifive.com>,
	"Palmer Dabbelt" <palmer@dabbelt.com>,
	"Paul Walmsley" <pjw@kernel.org>,
	devicetree@vger.kernel.org
Subject: Re: [External] [PATCH RFC v3 04/11] RISC-V: QoS: add CBQRI hardware interface
Date: Wed, 6 May 2026 07:28:26 -0700	[thread overview]
Message-ID: <aftQCk7f+hpBMkl3@x1> (raw)
In-Reply-To: <CAEEQ3wmkSyThakHy=fe-uNAZbzGaSM=avsqdgcZ2ZTkPNvCkMA@mail.gmail.com>

On Tue, May 05, 2026 at 12:43:46PM +0800, yunhui cui wrote:
> Hi Drew,
> 
> On Wed, Apr 15, 2026 at 9:57 AM Drew Fustini <fustini@kernel.org> wrote:
> >
> > Add the CBQRI controller hardware interface layer.
> >
> > Define data structures representing CBQRI controller properties
> > (cbqri_controller) and hardware capabilities for capacity and bandwidth
> > controllers (riscv_cbqri_capacity_caps, riscv_cbqri_bandwidth_caps) in
> > include/linux/riscv_qos.h.
> >
> > Define MMIO register offsets, field masks, and internal wrapper structs
> > (cbqri_resctrl_res, cbqri_resctrl_dom, cbqri_config) in internal.h.
> >
> > Implement MMIO helpers for capacity block mask and bandwidth reservation,
> > alloc control operations for capacity and bandwidth controllers, and
> > probe functions to discover controller capabilities. A per-controller
> > spinlock serializes multi-step MMIO sequences.
> >
> > Co-developed-by: Adrien Ricciardi <aricciardi@baylibre.com>
> > Signed-off-by: Adrien Ricciardi <aricciardi@baylibre.com>
> > Signed-off-by: Drew Fustini <fustini@kernel.org>
> > ---
> >  MAINTAINERS                         |   1 +
> >  arch/riscv/kernel/qos/internal.h    |  81 +++++++
> >  arch/riscv/kernel/qos/qos_resctrl.c | 432 ++++++++++++++++++++++++++++++++++++
> >  include/linux/riscv_qos.h           |  76 +++++++
> >  4 files changed, 590 insertions(+)
> >
[..]
> > +/* Set capacity block mask (cc_block_mask) */
> > +static void cbqri_set_cbm(struct cbqri_controller *ctrl, u64 cbm)
> > +{
> > +       iowrite64(cbm, ctrl->base + CBQRI_CC_BLOCK_MASK_OFF);
> > +}
> 
>  CBQRI capacity limits appear to include both cc_block_mask and
> cc_cunits, but only cc_block_mask seems to be modeled here. How is
> cc_cunits expected to be handled?

There was no match for cc_units in the existing resctrl schema so I had
planned to wait until the initial support is reviewed and merged to
propose support for cc_units.

Thanks,
Drew

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

  reply	other threads:[~2026-05-06 14:28 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-15  1:53 [PATCH RFC v3 00/11] RISC-V: QoS: add CBQRI resctrl interface Drew Fustini
2026-04-15  1:53 ` Drew Fustini
2026-04-15  1:53 ` [PATCH RFC v3 01/11] dt-bindings: riscv: Add Ssqosid extension description Drew Fustini
2026-04-15  1:53   ` Drew Fustini
2026-04-15  1:53 ` [PATCH RFC v3 02/11] RISC-V: Detect the Ssqosid extension Drew Fustini
2026-04-15  1:53   ` Drew Fustini
2026-04-15  1:53 ` [PATCH RFC v3 03/11] RISC-V: Add support for srmcfg CSR from " Drew Fustini
2026-04-15  1:53   ` Drew Fustini
2026-04-15  1:53 ` [PATCH RFC v3 04/11] RISC-V: QoS: add CBQRI hardware interface Drew Fustini
2026-04-15  1:53   ` Drew Fustini
2026-04-30 23:15   ` Reinette Chatre
2026-04-30 23:15     ` Reinette Chatre
2026-05-01  4:45     ` Drew Fustini
2026-05-01  4:45       ` Drew Fustini
2026-05-05  4:43   ` [External] " yunhui cui
2026-05-05  4:43     ` yunhui cui
2026-05-06 14:28     ` Drew Fustini [this message]
2026-05-06 14:28       ` Drew Fustini
2026-04-15  1:53 ` [PATCH RFC v3 05/11] RISC-V: QoS: add resctrl arch callbacks for CBQRI controllers Drew Fustini
2026-04-15  1:53   ` Drew Fustini
2026-04-30 23:17   ` Reinette Chatre
2026-04-30 23:17     ` Reinette Chatre
2026-04-30 23:37     ` Drew Fustini
2026-04-30 23:37       ` Drew Fustini
2026-04-30 23:52       ` Reinette Chatre
2026-04-30 23:52         ` Reinette Chatre
2026-04-15  1:54 ` [PATCH RFC v3 06/11] RISC-V: QoS: add resctrl setup and domain management Drew Fustini
2026-04-15  1:54   ` Drew Fustini
2026-04-17 10:52   ` guo.wenjia23
2026-04-17 10:52     ` guo.wenjia23
2026-04-18 22:01     ` Drew Fustini
2026-04-18 22:01       ` Drew Fustini
2026-04-30 23:20   ` Reinette Chatre
2026-04-30 23:20     ` Reinette Chatre
2026-05-01 22:56     ` Drew Fustini
2026-05-01 22:56       ` Drew Fustini
2026-04-15  1:54 ` [PATCH RFC v3 07/11] RISC-V: QoS: enable resctrl support for Ssqosid Drew Fustini
2026-04-15  1:54   ` Drew Fustini
2026-04-15  1:54 ` [PATCH RFC v3 08/11] ACPI: PPTT: Add acpi_pptt_get_cache_size_from_id helper Drew Fustini
2026-04-15  1:54   ` Drew Fustini
2026-04-30 23:20   ` Reinette Chatre
2026-04-30 23:20     ` Reinette Chatre
2026-05-01 16:53     ` Drew Fustini
2026-05-01 16:53       ` Drew Fustini
2026-04-15  1:54 ` [PATCH RFC v3 09/11] DO NOT MERGE: include: acpi: actbl2: Add structs for RQSC table Drew Fustini
2026-04-15  1:54   ` Drew Fustini
2026-04-15  1:54 ` [PATCH RFC v3 10/11] ACPI: RISC-V: Parse RISC-V Quality of Service Controller (RQSC) table Drew Fustini
2026-04-15  1:54   ` Drew Fustini
2026-04-15  1:54 ` [PATCH RFC v3 11/11] ACPI: RISC-V: Add support for RISC-V Quality of Service Controller (RQSC) Drew Fustini
2026-04-15  1:54   ` Drew Fustini
2026-05-05  4:46 ` [External] [PATCH RFC v3 00/11] RISC-V: QoS: add CBQRI resctrl interface yunhui cui
2026-05-05  4:46   ` yunhui cui
2026-05-06 14:32   ` Drew Fustini
2026-05-06 14:32     ` Drew Fustini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aftQCk7f+hpBMkl3@x1 \
    --to=fustini@kernel.org \
    --cc=Dave.Martin@arm.com \
    --cc=acpica-devel@lists.linux.dev \
    --cc=alex@ghiti.fr \
    --cc=aou@eecs.berkeley.edu \
    --cc=aricciardi@baylibre.com \
    --cc=atish.patra@linux.dev \
    --cc=atishp@rivosinc.com \
    --cc=babu.moger@amd.com \
    --cc=ben.horgan@arm.com \
    --cc=conor+dt@kernel.org \
    --cc=conor.dooley@microchip.com \
    --cc=cp0613@linux.alibaba.com \
    --cc=cuiyunhui@bytedance.com \
    --cc=devicetree@vger.kernel.org \
    --cc=fenghua.yu@intel.com \
    --cc=gong.shuai@sanechips.com.cn \
    --cc=gsh517@gmail.com \
    --cc=guo.wenjia23@zte.com.cn \
    --cc=james.morse@arm.com \
    --cc=krzk+dt@kernel.org \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=liu.qingtao2@zte.com.cn \
    --cc=liwei1518@gmail.com \
    --cc=mindal@semihalf.com \
    --cc=npitre@baylibre.com \
    --cc=palmer@dabbelt.com \
    --cc=paul.walmsley@sifive.com \
    --cc=peternewman@google.com \
    --cc=pjw@kernel.org \
    --cc=rafael@kernel.org \
    --cc=reinette.chatre@intel.com \
    --cc=rkrcmar@ventanamicro.com \
    --cc=robert.moore@intel.com \
    --cc=robh@kernel.org \
    --cc=samuel.holland@sifive.com \
    --cc=sunilvl@ventanamicro.com \
    --cc=tony.luck@intel.com \
    --cc=vasu@rivosinc.com \
    --cc=ved@rivosinc.com \
    --cc=x86@kernel.org \
    --cc=zhiwei_liu@linux.alibaba.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.