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 X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 378DFC433B4 for ; Tue, 13 Apr 2021 11:54:56 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id A4F6B613AB for ; Tue, 13 Apr 2021 11:54:55 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A4F6B613AB Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=arm.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:Message-ID:Date:References:In-Reply-To: Subject:Cc:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=CQUEGo0mBk1mwmqsevZIktpQndfiKMTe1fiGUYHRAHQ=; b=A0eITwutioCX92s3pi2rxl/Af vuhfK7sG2nZZhp5LjGlorS99/yBtvJzz19tFG7Lo35ZYJme85pqlVT5+Uq1wXtWqYZS1+U/YJZEM2 RCicC8Kp6jg8hnt5PcCeDyWfyGnUV8CwQoZI1SCMnypRYfGCQ56SlmdG3yfq9hOpv0iE0p3hYLXUD DUWKVHrCgWRx2awyCcglIfpbwGtoOtkjjtLHbzr6V7zGXfuXPvi4f3LjJSdeQw5vi6b8DSWVhHYsV qCDxiuKBXMK9djo5KF1W3oYM2P1tT5EiT50ozI5rgYPD0X68fGuho5/VqQpo7KQwISCU5hSrro+jK AWDO0yorw==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lWHYT-0097zp-7N; Tue, 13 Apr 2021 11:50:11 +0000 Received: from bombadil.infradead.org ([2607:7c80:54:e::133]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lWHPY-0096DP-VK for linux-arm-kernel@desiato.infradead.org; Tue, 13 Apr 2021 11:40:53 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: Content-Type:MIME-Version:Message-ID:Date:References:In-Reply-To:Subject:Cc: To:From:Sender:Reply-To:Content-ID:Content-Description; bh=jSDsw+QO+7JT/opfHHFdWMA3W2H+BEh/Qe0pa+laFUg=; b=KwfhGi35YXuM5GtCKr50wmPvwi /xkWDBAnX71RAiHkk0MznH5tNhppRCRTj6NEGwUgwIMBbOK0SENpYaz+i01s32HNJhnb55bLLgV+S ck/NLRxhS+3V9s091q+pNG5qENRN7atW9ZRXNympietZDJjnKsiJvGPM2s8EFLdECgKnCHuWN2BMN Q69QIH8bxIdff3yFH/97Fh8NH3QojIjUmOrNC6Ctb/leGaXPivYfkdhPx68T0ruoKgXybE1pzBRZi XujkOJI/xmg3PMghzL3Ac9YcUXDQuLLo6cKZNu19wsFihKppsP8JCSXh0nvaLLK07G59gMc9xdeon MXpzcvlA==; Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lWHPV-006yue-HY for linux-arm-kernel@lists.infradead.org; Tue, 13 Apr 2021 11:40:51 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 42C88113E; Tue, 13 Apr 2021 04:40:45 -0700 (PDT) Received: from e113632-lin (e113632-lin.cambridge.arm.com [10.1.194.46]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id A96E03F73B; Tue, 13 Apr 2021 04:40:43 -0700 (PDT) From: Valentin Schneider To: Ruifeng Zhang Cc: linux@armlinux.org.uk, sudeep.holla@arm.com, Greg KH , "Rafael J. Wysocki" , a.p.zijlstra@chello.nl, dietmar.eggemann@arm.com, mingo@kernel.org, ruifeng.zhang1@unisoc.com, nianfu.bai@unisoc.com, linux-arm-kernel@lists.infradead.org, Linux Kernel Mailing List Subject: Re: [PATCH 1/1] arm: topology: parse the topology from the dt In-Reply-To: References: <20210412070819.23493-1-ruifeng.zhang0110@gmail.com> <87y2dnn3gw.mognet@arm.com> <87tuobmsba.mognet@arm.com> Date: Tue, 13 Apr 2021 12:40:39 +0100 Message-ID: <87o8eimmyw.mognet@arm.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210413_044049_696041_507440D2 X-CRM114-Status: GOOD ( 16.95 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gMTMvMDQvMjEgMTQ6MTMsIFJ1aWZlbmcgWmhhbmcgd3JvdGU6Cj4gVmFsZW50aW4gU2NobmVp ZGVyIDx2YWxlbnRpbi5zY2huZWlkZXJAYXJtLmNvbT4g5LqOMjAyMeW5tDTmnIgxMuaXpeWRqOS4 gCDkuIvljYgxMTozM+WGmemBk++8mgo+PiBJJ20gbm90IGZsdWVudCBhdCBhbGwgaW4gYXJtdjcg KG9yIG1vc3QgYWFyY2gzMiBjb21wYXQgbW9kZSBzdHVmZiksIGJ1dAo+PiBJIGNvdWxkbid0IGZp bmQgYW55dGhpbmcgYWJvdXQgTVBJRFIgZm9ybWF0IGRpZmZlcmVuY2VzOgo+Pgo+PiAgIERESSAw NDg3Ry5hIEc4LjIuMTEzCj4+ICAgIiIiCj4+ICAgQUFyY2gzMiBTeXN0ZW0gcmVnaXN0ZXIgTVBJ RFIgYml0cyBbMzE6MF0gYXJlIGFyY2hpdGVjdHVyYWxseSBtYXBwZWQgdG8KPj4gICBBQXJjaDY0 IFN5c3RlbSByZWdpc3RlciBNUElEUl9FTDFbMzE6MF0uCj4+ICAgIiIiCj4+Cj4+IFBlZWtpbmcg YXQgc29tZSBhcm12NyBkb2MgYW5kIGFybS9rZXJuZWwvdG9wb2xvZ3kuYyB0aGUgbGF5b3V0IHJl YWxseSBsb29rcwo+PiBqdXN0IHRoZSBzYW1lLCBpLmUuIGZvciBib3RoIG9mIHRoZW0sIHdpdGgg eW91ciBleGFtcGxlIG9mOgo+Cj4gVGhlIGNvcnRleC1hNyBzcGVjIERESTA0NjRGIDQuMy41Cj4g aHR0cHM6Ly9kZXZlbG9wZXIuYXJtLmNvbS9kb2N1bWVudGF0aW9uL2RkaTA0NjQvZi8/bGFuZz1l bgo+CgpBaCwgc28gdGhhdCdzIHdoZXJlIHRoZSBjb3JlX2lkPWJpdFsxOjBdIGNvbWVzIGZyb20u IFRoYXQgZG9lcyBzdGlsbApjb25mb3JtIHRvIHRoZSBNUElEUiBmb3JtYXQsIGFuZCBhcyB5b3Ug cG9pbnQgb3V0IGJlbG93IHRoYXQncyBiZWluZyBwYXJzZWQKdGhlIHNhbWUgKGFmZjIsIGFmZjEs IGFmZjApID09IG1waWRyKFsyMzoxNl1bMTU6OF1bNzowXSkKCj4gVGhlIGN1cnJlbnQgYXJjaC9h cm0va2VybmVsL3RvcG9sb2d5IGNvZGUgcGFyc2UgdGhlIE1QSURSIHdpdGggYSBhcm12NyBmb3Jt YXQuCj4gdGhlIHBhcnNlIGNvZGUgaXM6Cj4gdm9pZCBzdG9yZV9jcHVfdG9wb2xvZ3kodW5zaWdu ZWQgaW50IGNwdWlkKQo+IHsKPiAgICAgLi4uCj4gICAgIGNwdWlkX3RvcG8tPnRocmVhZF9pZCA9 IC0xOwo+ICAgICBjcHVpZF90b3BvLT5jb3JlX2lkID0gTVBJRFJfQUZGSU5JVFlfTEVWRUwobXBp ZHIsIDApOwo+ICAgICBjcHVpZF90b3BvLT5wYWNrYWdlX2lkID0gTVBJRFJfQUZGSU5JVFlfTEVW RUwobXBpZHIsIDEpOwo+ICAgICAuLi4KPiB9Cj4+Cj4+ICAgY29yZTA6IDAwMDAwMDAwODAwMDAw MDAKPj4gICBjb3JlMTogMDAwMDAwMDA4MDAwMDEwMAo+PiAgIGNvcmUyOiAwMDAwMDAwMDgwMDAw MjAwCj4+ICAgLi4uCj4+Cj4+IHdlJ2xsIGdldDoKPj4KPj4gICB8ICAgICAgIHwgYWZmMiB8IGFm ZjEgfCBhZmYwIHwKPj4gICB8LS0tLS0tLSstLS0tLS0rLS0tLS0tKy0tLS0tLXwKPj4gICB8IENv cmUwIHwgICAgMCB8ICAgIDAgfCAgICAwIHwKPj4gICB8IENvcmUxIHwgICAgMCB8ICAgIDEgfCAg ICAwIHwKPj4gICB8IENvcmUyIHwgICAgMCB8ICAgIDIgfCAgICAwIHwKPj4gICAgICAgLi4uCj4+ Cj4+IE5vdywgYXJtNjQgZG9lc24ndCBmYWxsYmFjayB0byBNUElEUiBmb3IgdG9wb2xvZ3kgaW5m b3JtYXRpb24gYW55bW9yZSBzaW5jZQo+Pgo+PiAgIDMxMDJiYzBlNmFjNyAoImFybTY0OiB0b3Bv bG9neTogU3RvcCB1c2luZyBNUElEUiBmb3IgdG9wb2xvZ3kgaW5mb3JtYXRpb24iKQo+Pgo+PiBz byB3aXRob3V0IERUIHdlIHdvdWxkIGdldDoKPj4gICB8ICAgICAgIHwgcGFja2FnZV9pZCB8IGNv cmVfaWQgfAo+PiAgIHwtLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS18Cj4+ICAgfCBDb3Jl MCB8ICAgICAgICAgIDAgfCAgICAgICAwIHwKPj4gICB8IENvcmUxIHwgICAgICAgICAgMCB8ICAg ICAgIDEgfAo+PiAgIHwgQ29yZTIgfCAgICAgICAgICAwIHwgICAgICAgMiB8Cj4+Cj4+IFdoZXJl YXMgd2l0aCBhbiBhcm0ga2VybmVsIHdlJ2xsIGVuZCB1cCBwYXJzaW5nIE1QSURSIGFzOgo+PiAg IHwgICAgICAgfCBwYWNrYWdlX2lkIHwgY29yZV9pZCB8Cj4+ICAgfC0tLS0tLS0rLS0tLS0tLS0t LS0tKy0tLS0tLS0tLXwKPj4gICB8IENvcmUwIHwgICAgICAgICAgMCB8ICAgICAgIDAgfAo+PiAg IHwgQ29yZTEgfCAgICAgICAgICAxIHwgICAgICAgMCB8Cj4+ICAgfCBDb3JlMiB8ICAgICAgICAg IDIgfCAgICAgICAwIHwKPj4KPj4gRGlkIEkgZ2V0IHRoaXMgcmlnaHQ/IElzIHRoaXMgd2hhdCB5 b3UncmUgb2JzZXJ2aW5nPwo+Cj4gWWVzLCB0aGlzIGlzIGEgcHJvYmxlbSBpZiBhbiBhcm12OC4y IG9yIGFib3ZlIGNwdSBpcyBydW5uaW5nIGEgMzItYml0Cj4ga2VybmVsIG9uIEVMMS4KCgpXaXRo IHRoZSBhYm92ZSBNUElEUihfRUwxKSB2YWx1ZXMsIHlvdSB3b3VsZCBoYXZlIHRoZSBzYW1lIHBy b2JsZW0gaW4KYWFyY2g2NCBtb2RlIG9uIGFueSBrZXJuZWwgcHJlZGF0aW5nCgogIDMxMDJiYzBl NmFjNyAoImFybTY0OiB0b3BvbG9neTogU3RvcCB1c2luZyBNUElEUiBmb3IgdG9wb2xvZ3kgaW5m b3JtYXRpb24iKQoKc2luY2UgYWxsIEFmZjAgdmFsdWVzIGFyZSAwLiBBcmd1YWJseSB0aG9zZSBN UElEUihfRUwxKSB2YWx1ZXMgZG9uJ3QKbWFrZSBtdWNoIHNlbnNlIChjb3JlcyBpbiB0aGUgc2Ft ZSBjbHVzdGVyIHNob3VsZCBoYXZlIGRpZmZlcmVudCBBZmYwCnZhbHVlcywgdW5sZXNzIFNNVCks IGJ1dCBpbiBhcm02NCB0aGF0J3MgdXN1YWxseSAiY29ycmVjdGVkIiBieSBEVC4KCkFzIHlvdSBw b2ludGVkIG91dCwgYXJtIGRvZXNuJ3QgY3VycmVudGx5IGxldmVyYWdlIHRoZSBjcHUtbWFwIERU IGVudHJ5LiBJCmRvbid0IHNlZSBhbnkgb2J2aW91cyBwcm9ibGVtIHdpdGggYWRkaW5nIHN1cHBv cnQgZm9yIGl0LCBzbyBpZiB5b3UgY2FuIGZpeAp0aGUgY2FwYWNpdHkgaXNzdWUgRGlldG1hciBy ZXBvcnRlZCwgSSB0aGluayB3ZSBjb3VsZCBjb25zaWRlciBpdC4KCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBs aXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5m cmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK 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 X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B3EE5C433B4 for ; Tue, 13 Apr 2021 11:40:51 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 9391461029 for ; Tue, 13 Apr 2021 11:40:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238888AbhDMLlJ convert rfc822-to-8bit (ORCPT ); Tue, 13 Apr 2021 07:41:09 -0400 Received: from foss.arm.com ([217.140.110.172]:41208 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231378AbhDMLlF (ORCPT ); Tue, 13 Apr 2021 07:41:05 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 42C88113E; Tue, 13 Apr 2021 04:40:45 -0700 (PDT) Received: from e113632-lin (e113632-lin.cambridge.arm.com [10.1.194.46]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id A96E03F73B; Tue, 13 Apr 2021 04:40:43 -0700 (PDT) From: Valentin Schneider To: Ruifeng Zhang Cc: linux@armlinux.org.uk, sudeep.holla@arm.com, Greg KH , "Rafael J. Wysocki" , a.p.zijlstra@chello.nl, dietmar.eggemann@arm.com, mingo@kernel.org, ruifeng.zhang1@unisoc.com, nianfu.bai@unisoc.com, linux-arm-kernel@lists.infradead.org, Linux Kernel Mailing List Subject: Re: [PATCH 1/1] arm: topology: parse the topology from the dt In-Reply-To: References: <20210412070819.23493-1-ruifeng.zhang0110@gmail.com> <87y2dnn3gw.mognet@arm.com> <87tuobmsba.mognet@arm.com> Date: Tue, 13 Apr 2021 12:40:39 +0100 Message-ID: <87o8eimmyw.mognet@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8BIT Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 13/04/21 14:13, Ruifeng Zhang wrote: > Valentin Schneider 于2021年4月12日周一 下午11:33写道: >> I'm not fluent at all in armv7 (or most aarch32 compat mode stuff), but >> I couldn't find anything about MPIDR format differences: >> >> DDI 0487G.a G8.2.113 >> """ >> AArch32 System register MPIDR bits [31:0] are architecturally mapped to >> AArch64 System register MPIDR_EL1[31:0]. >> """ >> >> Peeking at some armv7 doc and arm/kernel/topology.c the layout really looks >> just the same, i.e. for both of them, with your example of: > > The cortex-a7 spec DDI0464F 4.3.5 > https://developer.arm.com/documentation/ddi0464/f/?lang=en > Ah, so that's where the core_id=bit[1:0] comes from. That does still conform to the MPIDR format, and as you point out below that's being parsed the same (aff2, aff1, aff0) == mpidr([23:16][15:8][7:0]) > The current arch/arm/kernel/topology code parse the MPIDR with a armv7 format. > the parse code is: > void store_cpu_topology(unsigned int cpuid) > { > ... > cpuid_topo->thread_id = -1; > cpuid_topo->core_id = MPIDR_AFFINITY_LEVEL(mpidr, 0); > cpuid_topo->package_id = MPIDR_AFFINITY_LEVEL(mpidr, 1); > ... > } >> >> core0: 0000000080000000 >> core1: 0000000080000100 >> core2: 0000000080000200 >> ... >> >> we'll get: >> >> | | aff2 | aff1 | aff0 | >> |-------+------+------+------| >> | Core0 | 0 | 0 | 0 | >> | Core1 | 0 | 1 | 0 | >> | Core2 | 0 | 2 | 0 | >> ... >> >> Now, arm64 doesn't fallback to MPIDR for topology information anymore since >> >> 3102bc0e6ac7 ("arm64: topology: Stop using MPIDR for topology information") >> >> so without DT we would get: >> | | package_id | core_id | >> |-------+------------+---------| >> | Core0 | 0 | 0 | >> | Core1 | 0 | 1 | >> | Core2 | 0 | 2 | >> >> Whereas with an arm kernel we'll end up parsing MPIDR as: >> | | package_id | core_id | >> |-------+------------+---------| >> | Core0 | 0 | 0 | >> | Core1 | 1 | 0 | >> | Core2 | 2 | 0 | >> >> Did I get this right? Is this what you're observing? > > Yes, this is a problem if an armv8.2 or above cpu is running a 32-bit > kernel on EL1. With the above MPIDR(_EL1) values, you would have the same problem in aarch64 mode on any kernel predating 3102bc0e6ac7 ("arm64: topology: Stop using MPIDR for topology information") since all Aff0 values are 0. Arguably those MPIDR(_EL1) values don't make much sense (cores in the same cluster should have different Aff0 values, unless SMT), but in arm64 that's usually "corrected" by DT. As you pointed out, arm doesn't currently leverage the cpu-map DT entry. I don't see any obvious problem with adding support for it, so if you can fix the capacity issue Dietmar reported, I think we could consider it.