From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (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 54D25EEC0; Fri, 25 Sep 2026 00:29:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790296148; cv=none; b=eyKK6o/VrL3o+WA92IBaBoZS42GaMqEDs07p8ZkZ/LgQ1jiFOefwRx0tZE1qUrgZ5lv075Xt8dYrIbBBmJWkmJAniLzQOVadui//lQB+Q8R3n/bMpDpvoMJpUaYqWeGh9ywmLC9COxOJXIe99yJBw2JWapPbVwR4f9S4MHtPZfI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790296148; c=relaxed/simple; bh=bns/bIbNlR6oTaMwRKkbC3IgfoVj9FPuCc75fiFh/n4=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=K1kQZg5vbZ/w3cAV+rylwdzzrEB5nF+Kxk8fHCik8YLQ+jFgkPWXyY2Qy4OGqeReufjcECPckod5AOvXKoBQ+w3EGRVYBBOVVkLIl9qKF8rr3qkuOFub1xGVOqSZ0qIQbbbk8I3CYwD6ohRd9YwkM13ACHunk4BwRFgwwWReaP8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=g4aIuWZW; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="g4aIuWZW" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 315411F000FF; Fri, 25 Sep 2026 00:29:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1790296146; bh=DVBRdfN8FrtxutACwQNau7GOnf++xs028/3aBNx68Es=; h=Date:From:To:Cc:Subject:References:In-Reply-To; b=g4aIuWZW7sdIp7OgfBRDtk2ahfICsbZWX7rEgQPmePr2OWs5ndM+ZAq44I/PCg3Me LJdlaTwYmoReDzi3DdlhfDywY98cChu6idNLfwQkRz9597aZ4svccHWyTObrsmQ14l rs5T+ot4sjmB+4QuchkCF9I6Dis1VqLzkoWxN2ujJ3xFvskPclRqWkLkEqDl2vCCAJ Y6RcsMg+U9aY3FUY6uITm5i7vnGd8zIasb3XqUNz8YzHb0Agr9b5ivqDjmg9R399ab Wp2b+o3hbRArxi7531q4B4UWkynPFRlP/MjHEnx1j496MBmmLuC/qRR6P10QT5xSKf 8TiLBUqrSms/g== Date: Thu, 24 Sep 2026 17:29:05 -0700 From: Drew Fustini To: yunhui cui Cc: Adrien Ricciardi , Alexandre Ghiti , Albert Ou , Atish Kumar Patra , Atish Patra , Babu Moger , Ben Horgan , Borislav Petkov , Chen Pei , Conor Dooley , Conor Dooley , Dave Hansen , Dave Martin , Fenghua Yu , Gong Shuai , Gong Shuai , guo.wenjia23@zte.com.cn, James Morse , Kornel =?utf-8?Q?Dul=C4=99ba?= , Krzysztof Kozlowski , liu.qingtao2@zte.com.cn, Liu Zhiwei , Palmer Dabbelt , Paul Walmsley , Peter Newman , Radim =?utf-8?B?S3LEjW3DocWZ?= , Reinette Chatre , Rob Herring , Samuel Holland , Sebastian Andrzej Siewior , Clark Williams , Steven Rostedt , Tony Luck , Vasudevan Srinivasan , Ved Shanbhogue , Weiwei Li , Zhanpeng Zhang , linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org, x86@kernel.org, devicetree@vger.kernel.org, linux-rt-devel@lists.linux.dev, linux-doc@vger.kernel.org Subject: Re: [PATCH v8 2/5] riscv_cbqri: resctrl: Add cache allocation via capacity block mask Message-ID: References: <20260917-dfustini-atl-sc-cbqri-dt-v8-0-7964e8d73fe8@kernel.org> <20260917-dfustini-atl-sc-cbqri-dt-v8-2-7964e8d73fe8@kernel.org> Precedence: bulk X-Mailing-List: linux-rt-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 Wed, Sep 23, 2026 at 05:13:15PM +0800, yunhui cui wrote: > Hi Fustini, > > On Fri, Sep 18, 2026 at 12:41 AM Drew Fustini wrote: > > > > Wire CBQRI capacity controllers into resctrl as RDT_RESOURCE_L2 and > > RDT_RESOURCE_L3 schemata. > > > > resctrl exposes a single capacity mask per resource, so when more than > > one capacity controller backs a cache level they must report the same > > number of capacity blocks. The same holds for the other capabilities > > resctrl exposes once per resource. A level whose controllers disagree > > is left unexposed. Other levels are unaffected. > > > > Control domains are created in the cpuhp online callback and keyed on > > the onlining CPU's cache id from cacheinfo, so a CPU that is offline at > > probe time still joins its domain once it comes online. A domain is > > published on the ctrl_domains RCU list only after it is fully > > initialized and brought online, and removed from the list before it is > > taken offline, following the documented safe traversal rules. > > > > Assisted-by: LLM > > Tested-by: Chen Pei > > Co-developed-by: Adrien Ricciardi > > Signed-off-by: Adrien Ricciardi > > Signed-off-by: Drew Fustini > > --- > > MAINTAINERS | 2 + > > arch/riscv/include/asm/resctrl.h | 147 ++++++++ > > drivers/resctrl/Kconfig | 4 + > > drivers/resctrl/Makefile | 1 + > > drivers/resctrl/cbqri_resctrl.c | 785 +++++++++++++++++++++++++++++++++++++++ > > 5 files changed, 939 insertions(+) [..] > > diff --git a/drivers/resctrl/cbqri_resctrl.c b/drivers/resctrl/cbqri_resctrl.c [..] > > +/* > > + * Note about terminology between x86 (Intel RDT/AMD QoS) and RISC-V: > > + * CLOSID on x86 is RCID on RISC-V > > + * RMID on x86 is MCID on RISC-V > > + */ > > +u32 resctrl_arch_get_num_closid(struct rdt_resource *res) > > +{ > > + struct cbqri_resctrl_res *hw_res; > > + > > + hw_res = container_of(res, struct cbqri_resctrl_res, resctrl_res); > > + > > + if (!hw_res->ctrl) > > + return 0; > > + > > + return hw_res->ctrl->rcid_count; > > +} > > When CDP is enabled, the resctrl core halves the value returned by > resctrl_arch_get_num_closid(). Is that correct for CBQRI? > CBQRI v1.0 defines allocation using an (RCID, AT) pair, and its example > uses the same RCID=5 for separate AT=0 and AT=1 allocations. > > Thanks, > Yunhui You're right that this is not needed for RISC-V. CDP is still functional but the upper half of RCIDs is unused. It would require an fs/resctrl change to make the halving conditional. Therefore, I would like to deal with that in a separate series and not expand the scope of this series. I will add a comment above resctrl_arch_get_num_closid() for v9, so the current situation is obvious. Thanks, Drew 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 E0CB8C98318 for ; Fri, 25 Sep 2026 00:29:25 +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:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc: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=4058ndFeSgpYaB3ZALUEsTUkqEsziAxsy06yF+XATUk=; b=0XUjzUYaR+H9eg jY3w+KvxB+PU2btgOzGRi67Pt5nfLi1pSniYYziytO2oxybXanqGFL9HmFPaORheNCNP9kbys86Du zGvuKbDx3GLcnbogbqfWLjoC1djGqLoKi4YMh1kJaTtFgM6+s8SsWhNz/OlXPvL8b2UvRx+FKpOV4 y3KWn17UIvf1MOaFVHCxhCYQ1Y4oizdcJDRsNnweZGhp4FR4+tUPjb1An9Y+0tPntPos8duF3V10w 3BFO+VpQlhnrnvpOFfUBhMSjC9Xi4lPy/Jn/mraPCWso+yCiWBpr7cWSe4RgbUrLC4D0CFPgNBO3D rgiOEH+qEr3SAGrp/HNA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1x9toL-0000000CS7z-11kH; Fri, 25 Sep 2026 00:29:09 +0000 Received: from tor.source.kernel.org ([172.105.4.254]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1x9toK-0000000CS7s-2Cwl for linux-riscv@lists.infradead.org; Fri, 25 Sep 2026 00:29:08 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by tor.source.kernel.org (Postfix) with ESMTP id 2343C6022E; Fri, 25 Sep 2026 00:29:07 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 315411F000FF; Fri, 25 Sep 2026 00:29:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1790296146; bh=DVBRdfN8FrtxutACwQNau7GOnf++xs028/3aBNx68Es=; h=Date:From:To:Cc:Subject:References:In-Reply-To; b=g4aIuWZW7sdIp7OgfBRDtk2ahfICsbZWX7rEgQPmePr2OWs5ndM+ZAq44I/PCg3Me LJdlaTwYmoReDzi3DdlhfDywY98cChu6idNLfwQkRz9597aZ4svccHWyTObrsmQ14l rs5T+ot4sjmB+4QuchkCF9I6Dis1VqLzkoWxN2ujJ3xFvskPclRqWkLkEqDl2vCCAJ Y6RcsMg+U9aY3FUY6uITm5i7vnGd8zIasb3XqUNz8YzHb0Agr9b5ivqDjmg9R399ab Wp2b+o3hbRArxi7531q4B4UWkynPFRlP/MjHEnx1j496MBmmLuC/qRR6P10QT5xSKf 8TiLBUqrSms/g== Date: Thu, 24 Sep 2026 17:29:05 -0700 From: Drew Fustini To: yunhui cui Cc: Adrien Ricciardi , Alexandre Ghiti , Albert Ou , Atish Kumar Patra , Atish Patra , Babu Moger , Ben Horgan , Borislav Petkov , Chen Pei , Conor Dooley , Conor Dooley , Dave Hansen , Dave Martin , Fenghua Yu , Gong Shuai , Gong Shuai , guo.wenjia23@zte.com.cn, James Morse , Kornel =?utf-8?Q?Dul=C4=99ba?= , Krzysztof Kozlowski , liu.qingtao2@zte.com.cn, Liu Zhiwei , Palmer Dabbelt , Paul Walmsley , Peter Newman , Radim =?utf-8?B?S3LEjW3DocWZ?= , Reinette Chatre , Rob Herring , Samuel Holland , Sebastian Andrzej Siewior , Clark Williams , Steven Rostedt , Tony Luck , Vasudevan Srinivasan , Ved Shanbhogue , Weiwei Li , Zhanpeng Zhang , linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org, x86@kernel.org, devicetree@vger.kernel.org, linux-rt-devel@lists.linux.dev, linux-doc@vger.kernel.org Subject: Re: [PATCH v8 2/5] riscv_cbqri: resctrl: Add cache allocation via capacity block mask Message-ID: References: <20260917-dfustini-atl-sc-cbqri-dt-v8-0-7964e8d73fe8@kernel.org> <20260917-dfustini-atl-sc-cbqri-dt-v8-2-7964e8d73fe8@kernel.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: 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: , 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 T24gV2VkLCBTZXAgMjMsIDIwMjYgYXQgMDU6MTM6MTVQTSArMDgwMCwgeXVuaHVpIGN1aSB3cm90 ZToKPiBIaSBGdXN0aW5pLAo+IAo+IE9uIEZyaSwgU2VwIDE4LCAyMDI2IGF0IDEyOjQx4oCvQU0g RHJldyBGdXN0aW5pIDxmdXN0aW5pQGtlcm5lbC5vcmc+IHdyb3RlOgo+ID4KPiA+IFdpcmUgQ0JR UkkgY2FwYWNpdHkgY29udHJvbGxlcnMgaW50byByZXNjdHJsIGFzIFJEVF9SRVNPVVJDRV9MMiBh bmQKPiA+IFJEVF9SRVNPVVJDRV9MMyBzY2hlbWF0YS4KPiA+Cj4gPiByZXNjdHJsIGV4cG9zZXMg YSBzaW5nbGUgY2FwYWNpdHkgbWFzayBwZXIgcmVzb3VyY2UsIHNvIHdoZW4gbW9yZSB0aGFuCj4g PiBvbmUgY2FwYWNpdHkgY29udHJvbGxlciBiYWNrcyBhIGNhY2hlIGxldmVsIHRoZXkgbXVzdCBy ZXBvcnQgdGhlIHNhbWUKPiA+IG51bWJlciBvZiBjYXBhY2l0eSBibG9ja3MuIFRoZSBzYW1lIGhv bGRzIGZvciB0aGUgb3RoZXIgY2FwYWJpbGl0aWVzCj4gPiByZXNjdHJsIGV4cG9zZXMgb25jZSBw ZXIgcmVzb3VyY2UuIEEgbGV2ZWwgd2hvc2UgY29udHJvbGxlcnMgZGlzYWdyZWUKPiA+IGlzIGxl ZnQgdW5leHBvc2VkLiBPdGhlciBsZXZlbHMgYXJlIHVuYWZmZWN0ZWQuCj4gPgo+ID4gQ29udHJv bCBkb21haW5zIGFyZSBjcmVhdGVkIGluIHRoZSBjcHVocCBvbmxpbmUgY2FsbGJhY2sgYW5kIGtl eWVkIG9uCj4gPiB0aGUgb25saW5pbmcgQ1BVJ3MgY2FjaGUgaWQgZnJvbSBjYWNoZWluZm8sIHNv IGEgQ1BVIHRoYXQgaXMgb2ZmbGluZSBhdAo+ID4gcHJvYmUgdGltZSBzdGlsbCBqb2lucyBpdHMg ZG9tYWluIG9uY2UgaXQgY29tZXMgb25saW5lLiBBIGRvbWFpbiBpcwo+ID4gcHVibGlzaGVkIG9u IHRoZSBjdHJsX2RvbWFpbnMgUkNVIGxpc3Qgb25seSBhZnRlciBpdCBpcyBmdWxseQo+ID4gaW5p dGlhbGl6ZWQgYW5kIGJyb3VnaHQgb25saW5lLCBhbmQgcmVtb3ZlZCBmcm9tIHRoZSBsaXN0IGJl Zm9yZSBpdCBpcwo+ID4gdGFrZW4gb2ZmbGluZSwgZm9sbG93aW5nIHRoZSBkb2N1bWVudGVkIHNh ZmUgdHJhdmVyc2FsIHJ1bGVzLgo+ID4KPiA+IEFzc2lzdGVkLWJ5OiBMTE0KPiA+IFRlc3RlZC1i eTogQ2hlbiBQZWkgPGNwMDYxM0BsaW51eC5hbGliYWJhLmNvbT4KPiA+IENvLWRldmVsb3BlZC1i eTogQWRyaWVuIFJpY2NpYXJkaSA8YXJpY2NpYXJkaUBiYXlsaWJyZS5jb20+Cj4gPiBTaWduZWQt b2ZmLWJ5OiBBZHJpZW4gUmljY2lhcmRpIDxhcmljY2lhcmRpQGJheWxpYnJlLmNvbT4KPiA+IFNp Z25lZC1vZmYtYnk6IERyZXcgRnVzdGluaSA8ZnVzdGluaUBrZXJuZWwub3JnPgo+ID4gLS0tCj4g PiAgTUFJTlRBSU5FUlMgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKwo+ID4gIGFyY2gvcmlz Y3YvaW5jbHVkZS9hc20vcmVzY3RybC5oIHwgMTQ3ICsrKysrKysrCj4gPiAgZHJpdmVycy9yZXNj dHJsL0tjb25maWcgICAgICAgICAgfCAgIDQgKwo+ID4gIGRyaXZlcnMvcmVzY3RybC9NYWtlZmls ZSAgICAgICAgIHwgICAxICsKPiA+ICBkcml2ZXJzL3Jlc2N0cmwvY2JxcmlfcmVzY3RybC5jICB8 IDc4NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiA+ICA1IGZpbGVz IGNoYW5nZWQsIDkzOSBpbnNlcnRpb25zKCspClsuLl0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJz L3Jlc2N0cmwvY2JxcmlfcmVzY3RybC5jIGIvZHJpdmVycy9yZXNjdHJsL2NicXJpX3Jlc2N0cmwu YwpbLi5dCj4gPiArLyoKPiA+ICsgKiBOb3RlIGFib3V0IHRlcm1pbm9sb2d5IGJldHdlZW4geDg2 IChJbnRlbCBSRFQvQU1EIFFvUykgYW5kIFJJU0MtVjoKPiA+ICsgKiAgIENMT1NJRCBvbiB4ODYg aXMgUkNJRCBvbiBSSVNDLVYKPiA+ICsgKiAgICAgUk1JRCBvbiB4ODYgaXMgTUNJRCBvbiBSSVND LVYKPiA+ICsgKi8KPiA+ICt1MzIgcmVzY3RybF9hcmNoX2dldF9udW1fY2xvc2lkKHN0cnVjdCBy ZHRfcmVzb3VyY2UgKnJlcykKPiA+ICt7Cj4gPiArICAgICAgIHN0cnVjdCBjYnFyaV9yZXNjdHJs X3JlcyAqaHdfcmVzOwo+ID4gKwo+ID4gKyAgICAgICBod19yZXMgPSBjb250YWluZXJfb2YocmVz LCBzdHJ1Y3QgY2JxcmlfcmVzY3RybF9yZXMsIHJlc2N0cmxfcmVzKTsKPiA+ICsKPiA+ICsgICAg ICAgaWYgKCFod19yZXMtPmN0cmwpCj4gPiArICAgICAgICAgICAgICAgcmV0dXJuIDA7Cj4gPiAr Cj4gPiArICAgICAgIHJldHVybiBod19yZXMtPmN0cmwtPnJjaWRfY291bnQ7Cj4gPiArfQo+IAo+ IFdoZW4gQ0RQIGlzIGVuYWJsZWQsIHRoZSByZXNjdHJsIGNvcmUgaGFsdmVzIHRoZSB2YWx1ZSBy ZXR1cm5lZCBieQo+IHJlc2N0cmxfYXJjaF9nZXRfbnVtX2Nsb3NpZCgpLiBJcyB0aGF0IGNvcnJl Y3QgZm9yIENCUVJJPwo+IENCUVJJIHYxLjAgZGVmaW5lcyBhbGxvY2F0aW9uIHVzaW5nIGFuIChS Q0lELCBBVCkgcGFpciwgYW5kIGl0cyBleGFtcGxlCj4gdXNlcyB0aGUgc2FtZSBSQ0lEPTUgZm9y IHNlcGFyYXRlIEFUPTAgYW5kIEFUPTEgYWxsb2NhdGlvbnMuCj4gCj4gVGhhbmtzLAo+IFl1bmh1 aQoKWW91J3JlIHJpZ2h0IHRoYXQgdGhpcyBpcyBub3QgbmVlZGVkIGZvciBSSVNDLVYuIENEUCBp cyBzdGlsbCBmdW5jdGlvbmFsCmJ1dCB0aGUgdXBwZXIgaGFsZiBvZiBSQ0lEcyBpcyB1bnVzZWQu CgpJdCB3b3VsZCByZXF1aXJlIGFuIGZzL3Jlc2N0cmwgY2hhbmdlIHRvIG1ha2UgdGhlIGhhbHZp bmcgY29uZGl0aW9uYWwuClRoZXJlZm9yZSwgSSB3b3VsZCBsaWtlIHRvIGRlYWwgd2l0aCB0aGF0 IGluIGEgc2VwYXJhdGUgc2VyaWVzIGFuZCBub3QKZXhwYW5kIHRoZSBzY29wZSBvZiB0aGlzIHNl cmllcy4gSSB3aWxsIGFkZCBhIGNvbW1lbnQgYWJvdmUKcmVzY3RybF9hcmNoX2dldF9udW1fY2xv c2lkKCkgZm9yIHY5LCBzbyB0aGUgY3VycmVudCBzaXR1YXRpb24gaXMKb2J2aW91cy4KClRoYW5r cywKRHJldwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K bGludXgtcmlzY3YgbWFpbGluZyBsaXN0CmxpbnV4LXJpc2N2QGxpc3RzLmluZnJhZGVhZC5vcmcK aHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1yaXNjdgo=