From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 206DB156F20; Sun, 8 Feb 2026 01:31:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770514288; cv=none; b=RJFhBxr4l3aiu//pa2EBt+I2JmaVhnwttbTHU1zVKYsIMFu99PmaHU1TQraxw7rx1DqTHX9w0I3WuOmW+J0MOwLJO1+Saw7u+UUrhg0ZfqFhnzEHqK4BChUZ4JKy48xXHhHFtalzn4/k+qzbpLQZ5rSTq2FZZ+ZCGUcCYau9PiI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770514288; c=relaxed/simple; bh=RylA3pGv8inVH/Bl08iuiJfbF8raWZhZT1pwh10HYkE=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=KVUvDMrdkeNx7wZyRn6iFdFSTgXLdrghlK+4m/fM+LzKnT8PeGMDScWUxG2z2doDq8NsfylVL15sQgBnoohnCNP9TvVWB4eSZslKZVknKJaeOTJDvsQfwYc5/o9V/m0r/p4c1rxxOfI+/H2HO0paU2rnMifns5oWuW0WNlkrqyI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=aNvowwG9; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="aNvowwG9" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2B5FFC116D0; Sun, 8 Feb 2026 01:31:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1770514287; bh=RylA3pGv8inVH/Bl08iuiJfbF8raWZhZT1pwh10HYkE=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=aNvowwG9YhSNrhXyOQ+sw+jn8QnzzIuXXbwoddP8uOcEJnnXbhDuQ2v8RNLRaZM3o HkZQT/djWZF28qNC54+FfsiCIBhB2zcB//AQYlYlkyNCZty5Salk2DWOmE2wlZW2Vd PM+619Tz/CvRd/b5iF5vADCAK1d46BcT3YlQ0+rdT4tdIYwXp+GVqzu7vtDPWnk+fQ vrFjjyv5S7hqoVP3X6XW6OVb3sJPH5/ZbJAIzSzO9FBAr+1hPvBW01FqPojUKtIRPH lABidUNG72UKryO3wyJtcTGSuQNgZ87p8/unIgVWBVcjy+YkzAFzo3oMW1J/Mik+Ca 8Tb0c6GwA87dQ== Date: Sat, 7 Feb 2026 17:31:25 -0800 From: Drew Fustini To: yunhui cui Cc: Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti , Radim =?utf-8?B?S3LEjW3DocWZ?= , Samuel Holland , Adrien Ricciardi , Nicolas Pitre , Kornel =?utf-8?Q?Dul=C4=99ba?= , Atish Patra , Atish Kumar Patra , Vasudevan Srinivasan , Ved Shanbhogue , Chen Pei , Liu Zhiwei , Weiwei Li , guo.wenjia23@zte.com.cn, liu.qingtao2@zte.com.cn, Reinette Chatre , Tony Luck , Babu Moger , Peter Newman , Fenghua Yu , James Morse , Ben Horgan , Dave Martin , linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org, x86@kernel.org, Rob Herring , "Rafael J. Wysocki" , Len Brown , Robert Moore , Sunil V L , Krzysztof Kozlowski , Conor Dooley , Paul Walmsley , linux-acpi@vger.kernel.org, acpica-devel@lists.linux.dev, devicetree@vger.kernel.org Subject: Re: [External] [PATCH RFC v2 03/17] RISC-V: Add support for srmcfg CSR from Ssqosid ext Message-ID: References: <20260128-ssqosid-cbqri-v2-0-dca586b091b9@kernel.org> <20260128-ssqosid-cbqri-v2-3-dca586b091b9@kernel.org> Precedence: bulk X-Mailing-List: acpica-devel@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: On Mon, Feb 02, 2026 at 11:17:52AM +0800, yunhui cui wrote: > Hi Drew, > > On Thu, Jan 29, 2026 at 4:28 AM Drew Fustini wrote: > > > > Add support for the srmcfg CSR defined in the Ssqosid ISA extension > > (Supervisor-mode Quality of Service ID). The CSR contains two fields: > > > > - Resource Control ID (RCID) used determine resource allocation > > - Monitoring Counter ID (MCID) used to track resource usage > > > > Requests from a hart to shared resources like cache will be tagged with > > these IDs. This allows the usage of shared resources to be associated > > with the task currently running on the hart. > > > > A srmcfg field is added to thread_struct and has the same format as the > > srmcfg CSR. This allows the scheduler to set the hart's srmcfg CSR to > > contain the RCID and MCID for the task that is being scheduled in. The > > srmcfg CSR is only written to if the thread_struct.srmcfg is different > > than the current value of the CSR. > > > > A per-cpu variable cpu_srmcfg is used to mirror that state of the CSR. > > This is because access to L1D hot memory should be several times faster > > than a CSR read. Also, in the case of virtualization, accesses to this > > CSR are trapped in the hypervisor. > > > > Link: https://github.com/riscv/riscv-ssqosid/releases/tag/v1.0 > > Co-developed-by: Kornel Dulęba > > Signed-off-by: Kornel Dulęba > > [fustini: rename csr, refactor switch_to, rebase on upstream] > > Signed-off-by: Drew Fustini [..] > > diff --git a/arch/riscv/include/asm/qos.h b/arch/riscv/include/asm/qos.h > > new file mode 100644 > > index 000000000000..84830d7c6dc4 > > --- /dev/null > > +++ b/arch/riscv/include/asm/qos.h > > @@ -0,0 +1,41 @@ > > +/* SPDX-License-Identifier: GPL-2.0 */ > > +#ifndef _ASM_RISCV_QOS_H > > +#define _ASM_RISCV_QOS_H > > + > > +#ifdef CONFIG_RISCV_ISA_SSQOSID > > + > > +#include > > +#include > > + > > +#include > > +#include > > +#include > > + > > +/* cached value of srmcfg csr for each cpu */ > > +DECLARE_PER_CPU(u32, cpu_srmcfg); > > + > > +static inline void __switch_to_srmcfg(struct task_struct *next) > > +{ > > + u32 *cpu_srmcfg_ptr = this_cpu_ptr(&cpu_srmcfg); > > + u32 thread_srmcfg; > > + > > + thread_srmcfg = READ_ONCE(next->thread.srmcfg); > > > First set the cpu_list, and then the condition thread_srmcfg != > *cpu_srmcfg_ptr will not be satisfied. Is a default value required > here? Both code paths for cpu_list and tasks are compared against the > default value; you may refer to the implementation of mpam. I'm having trouble finding cpu_list but I think that it does make sense to set the initial value. Were you thinking I should look at mpam_set_cpu_defaults() in the mpam_resctrl_glue_v4 [1] branch? Thanks, Drew [1] https://gitlab.arm.com/linux-arm/linux-bh.git From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 90D8EEF06E3 for ; Sun, 8 Feb 2026 01:31:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=lmrJvGCc6zbNqrn1dI1/Dugh4T9cmjyxUff49DMb/UA=; b=pbhoDLlEH9po85 1JU2iq8vlQeTRoTuVdoPDfskvj3FQsUIkKtnUV3rgDRxu+oY7RsmuEr2dCgzCQsRRRrfulwzuiNz2 iwDGEq+m6lBalFtFcC1PBKVUR/lUg6GB7x/FuYkjTO3RED1RFBhbN+BgQhHUyu+G0jKNLC5yqpZ42 qln9wDyudWDOF+Krf2jbhsTazBDJzuYVNHX/pXE8eLn5+4SJM8xCC7CN0aNUb539HZpYJuuAEfC6Y Sya4Nls3qmlfIBFXe3SjcNUFLbs+GpfqOp1+pdsMWYU5ykrFaLy2RHZ3aDVhulOF2mF1i02Nhk0FU SC47AaAmWaSKgTxGstBA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1vote8-0000000CuPs-1vwu; Sun, 08 Feb 2026 01:31:32 +0000 Received: from sea.source.kernel.org ([172.234.252.31]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1vote5-0000000CuPR-14bL for linux-riscv@lists.infradead.org; Sun, 08 Feb 2026 01:31:30 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id D2FBC401C8; Sun, 8 Feb 2026 01:31:27 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2B5FFC116D0; Sun, 8 Feb 2026 01:31:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1770514287; bh=RylA3pGv8inVH/Bl08iuiJfbF8raWZhZT1pwh10HYkE=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=aNvowwG9YhSNrhXyOQ+sw+jn8QnzzIuXXbwoddP8uOcEJnnXbhDuQ2v8RNLRaZM3o HkZQT/djWZF28qNC54+FfsiCIBhB2zcB//AQYlYlkyNCZty5Salk2DWOmE2wlZW2Vd PM+619Tz/CvRd/b5iF5vADCAK1d46BcT3YlQ0+rdT4tdIYwXp+GVqzu7vtDPWnk+fQ vrFjjyv5S7hqoVP3X6XW6OVb3sJPH5/ZbJAIzSzO9FBAr+1hPvBW01FqPojUKtIRPH lABidUNG72UKryO3wyJtcTGSuQNgZ87p8/unIgVWBVcjy+YkzAFzo3oMW1J/Mik+Ca 8Tb0c6GwA87dQ== Date: Sat, 7 Feb 2026 17:31:25 -0800 From: Drew Fustini To: yunhui cui Subject: Re: [External] [PATCH RFC v2 03/17] RISC-V: Add support for srmcfg CSR from Ssqosid ext Message-ID: References: <20260128-ssqosid-cbqri-v2-0-dca586b091b9@kernel.org> <20260128-ssqosid-cbqri-v2-3-dca586b091b9@kernel.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260207_173129_360403_6DF07432 X-CRM114-Status: GOOD ( 26.16 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Atish Patra , Adrien Ricciardi , Atish Kumar Patra , Conor Dooley , Nicolas Pitre , devicetree@vger.kernel.org, Liu Zhiwei , guo.wenjia23@zte.com.cn, linux-riscv@lists.infradead.org, Rob Herring , Peter Newman , x86@kernel.org, acpica-devel@lists.linux.dev, Robert Moore , liu.qingtao2@zte.com.cn, linux-acpi@vger.kernel.org, Ben Horgan , James Morse , Radim =?utf-8?B?S3LEjW3DocWZ?= , Dave Martin , Len Brown , Fenghua Yu , Chen Pei , Albert Ou , Kornel =?utf-8?Q?Dul=C4=99ba?= , Babu Moger , Weiwei Li , Paul Walmsley , Ved Shanbhogue , Reinette Chatre , Vasudevan Srinivasan , Tony Luck , Alexandre Ghiti , linux-kernel@vger.kernel.org, Samuel Holland , Krzysztof Kozlowski , Palmer Dabbelt , "Rafael J. Wysocki" , Paul Walmsley Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org T24gTW9uLCBGZWIgMDIsIDIwMjYgYXQgMTE6MTc6NTJBTSArMDgwMCwgeXVuaHVpIGN1aSB3cm90 ZToKPiBIaSBEcmV3LAo+IAo+IE9uIFRodSwgSmFuIDI5LCAyMDI2IGF0IDQ6MjjigK9BTSBEcmV3 IEZ1c3RpbmkgPGZ1c3RpbmlAa2VybmVsLm9yZz4gd3JvdGU6Cj4gPgo+ID4gQWRkIHN1cHBvcnQg Zm9yIHRoZSBzcm1jZmcgQ1NSIGRlZmluZWQgaW4gdGhlIFNzcW9zaWQgSVNBIGV4dGVuc2lvbgo+ ID4gKFN1cGVydmlzb3ItbW9kZSBRdWFsaXR5IG9mIFNlcnZpY2UgSUQpLiBUaGUgQ1NSIGNvbnRh aW5zIHR3byBmaWVsZHM6Cj4gPgo+ID4gICAtIFJlc291cmNlIENvbnRyb2wgSUQgKFJDSUQpIHVz ZWQgZGV0ZXJtaW5lIHJlc291cmNlIGFsbG9jYXRpb24KPiA+ICAgLSBNb25pdG9yaW5nIENvdW50 ZXIgSUQgKE1DSUQpIHVzZWQgdG8gdHJhY2sgcmVzb3VyY2UgdXNhZ2UKPiA+Cj4gPiBSZXF1ZXN0 cyBmcm9tIGEgaGFydCB0byBzaGFyZWQgcmVzb3VyY2VzIGxpa2UgY2FjaGUgd2lsbCBiZSB0YWdn ZWQgd2l0aAo+ID4gdGhlc2UgSURzLiBUaGlzIGFsbG93cyB0aGUgdXNhZ2Ugb2Ygc2hhcmVkIHJl c291cmNlcyB0byBiZSBhc3NvY2lhdGVkCj4gPiB3aXRoIHRoZSB0YXNrIGN1cnJlbnRseSBydW5u aW5nIG9uIHRoZSBoYXJ0Lgo+ID4KPiA+IEEgc3JtY2ZnIGZpZWxkIGlzIGFkZGVkIHRvIHRocmVh ZF9zdHJ1Y3QgYW5kIGhhcyB0aGUgc2FtZSBmb3JtYXQgYXMgdGhlCj4gPiBzcm1jZmcgQ1NSLiBU aGlzIGFsbG93cyB0aGUgc2NoZWR1bGVyIHRvIHNldCB0aGUgaGFydCdzIHNybWNmZyBDU1IgdG8K PiA+IGNvbnRhaW4gdGhlIFJDSUQgYW5kIE1DSUQgZm9yIHRoZSB0YXNrIHRoYXQgaXMgYmVpbmcg c2NoZWR1bGVkIGluLiBUaGUKPiA+IHNybWNmZyBDU1IgaXMgb25seSB3cml0dGVuIHRvIGlmIHRo ZSB0aHJlYWRfc3RydWN0LnNybWNmZyBpcyBkaWZmZXJlbnQKPiA+IHRoYW4gdGhlIGN1cnJlbnQg dmFsdWUgb2YgdGhlIENTUi4KPiA+Cj4gPiBBIHBlci1jcHUgdmFyaWFibGUgY3B1X3NybWNmZyBp cyB1c2VkIHRvIG1pcnJvciB0aGF0IHN0YXRlIG9mIHRoZSBDU1IuCj4gPiBUaGlzIGlzIGJlY2F1 c2UgYWNjZXNzIHRvIEwxRCBob3QgbWVtb3J5IHNob3VsZCBiZSBzZXZlcmFsIHRpbWVzIGZhc3Rl cgo+ID4gdGhhbiBhIENTUiByZWFkLiBBbHNvLCBpbiB0aGUgY2FzZSBvZiB2aXJ0dWFsaXphdGlv biwgYWNjZXNzZXMgdG8gdGhpcwo+ID4gQ1NSIGFyZSB0cmFwcGVkIGluIHRoZSBoeXBlcnZpc29y Lgo+ID4KPiA+IExpbms6IGh0dHBzOi8vZ2l0aHViLmNvbS9yaXNjdi9yaXNjdi1zc3Fvc2lkL3Jl bGVhc2VzL3RhZy92MS4wCj4gPiBDby1kZXZlbG9wZWQtYnk6IEtvcm5lbCBEdWzEmWJhIDxtaW5k YWxAc2VtaWhhbGYuY29tPgo+ID4gU2lnbmVkLW9mZi1ieTogS29ybmVsIER1bMSZYmEgPG1pbmRh bEBzZW1paGFsZi5jb20+Cj4gPiBbZnVzdGluaTogcmVuYW1lIGNzciwgcmVmYWN0b3Igc3dpdGNo X3RvLCByZWJhc2Ugb24gdXBzdHJlYW1dCj4gPiBTaWduZWQtb2ZmLWJ5OiBEcmV3IEZ1c3Rpbmkg PGZ1c3RpbmlAa2VybmVsLm9yZz4KWy4uXQo+ID4gZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3YvaW5j bHVkZS9hc20vcW9zLmggYi9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3Fvcy5oCj4gPiBuZXcgZmls ZSBtb2RlIDEwMDY0NAo+ID4gaW5kZXggMDAwMDAwMDAwMDAwLi44NDgzMGQ3YzZkYzQKPiA+IC0t LSAvZGV2L251bGwKPiA+ICsrKyBiL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vcW9zLmgKPiA+IEBA IC0wLDAgKzEsNDEgQEAKPiA+ICsvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMCAq Lwo+ID4gKyNpZm5kZWYgX0FTTV9SSVNDVl9RT1NfSAo+ID4gKyNkZWZpbmUgX0FTTV9SSVNDVl9R T1NfSAo+ID4gKwo+ID4gKyNpZmRlZiBDT05GSUdfUklTQ1ZfSVNBX1NTUU9TSUQKPiA+ICsKPiA+ ICsjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KPiA+ICsjaW5jbHVkZSA8bGludXgvanVtcF9sYWJl bC5oPgo+ID4gKwo+ID4gKyNpbmNsdWRlIDxhc20vYmFycmllci5oPgo+ID4gKyNpbmNsdWRlIDxh c20vY3NyLmg+Cj4gPiArI2luY2x1ZGUgPGFzbS9od2NhcC5oPgo+ID4gKwo+ID4gKy8qIGNhY2hl ZCB2YWx1ZSBvZiBzcm1jZmcgY3NyIGZvciBlYWNoIGNwdSAqLwo+ID4gK0RFQ0xBUkVfUEVSX0NQ VSh1MzIsIGNwdV9zcm1jZmcpOwo+ID4gKwo+ID4gK3N0YXRpYyBpbmxpbmUgdm9pZCBfX3N3aXRj aF90b19zcm1jZmcoc3RydWN0IHRhc2tfc3RydWN0ICpuZXh0KQo+ID4gK3sKPiA+ICsgICAgICAg dTMyICpjcHVfc3JtY2ZnX3B0ciA9IHRoaXNfY3B1X3B0cigmY3B1X3NybWNmZyk7Cj4gPiArICAg ICAgIHUzMiB0aHJlYWRfc3JtY2ZnOwo+ID4gKwo+ID4gKyAgICAgICB0aHJlYWRfc3JtY2ZnID0g UkVBRF9PTkNFKG5leHQtPnRocmVhZC5zcm1jZmcpOwo+IAo+IAo+IEZpcnN0IHNldCB0aGUgY3B1 X2xpc3QsIGFuZCB0aGVuIHRoZSBjb25kaXRpb24gdGhyZWFkX3NybWNmZyAhPQo+ICpjcHVfc3Jt Y2ZnX3B0ciB3aWxsIG5vdCBiZSBzYXRpc2ZpZWQuIElzIGEgZGVmYXVsdCB2YWx1ZSByZXF1aXJl ZAo+IGhlcmU/IEJvdGggY29kZSBwYXRocyBmb3IgY3B1X2xpc3QgYW5kIHRhc2tzIGFyZSBjb21w YXJlZCBhZ2FpbnN0IHRoZQo+IGRlZmF1bHQgdmFsdWU7IHlvdSBtYXkgcmVmZXIgdG8gdGhlIGlt cGxlbWVudGF0aW9uIG9mIG1wYW0uCgpJJ20gaGF2aW5nIHRyb3VibGUgZmluZGluZyBjcHVfbGlz dCBidXQgSSB0aGluayB0aGF0IGl0IGRvZXMgbWFrZSBzZW5zZQp0byBzZXQgdGhlIGluaXRpYWwg dmFsdWUuCgpXZXJlIHlvdSB0aGlua2luZyBJIHNob3VsZCBsb29rIGF0IG1wYW1fc2V0X2NwdV9k ZWZhdWx0cygpIGluCnRoZSBtcGFtX3Jlc2N0cmxfZ2x1ZV92NCBbMV0gYnJhbmNoPwoKVGhhbmtz LApEcmV3CgpbMV0gaHR0cHM6Ly9naXRsYWIuYXJtLmNvbS9saW51eC1hcm0vbGludXgtYmguZ2l0 CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1y aXNjdiBtYWlsaW5nIGxpc3QKbGludXgtcmlzY3ZAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8v bGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LXJpc2N2Cg==