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=-2.5 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_PASS,USER_AGENT_MUTT autolearn=ham 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 792A3C07E85 for ; Fri, 7 Dec 2018 15:04:41 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 4913D208E7 for ; Fri, 7 Dec 2018 15:04:41 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4913D208E7 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=arm.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726096AbeLGPEk (ORCPT ); Fri, 7 Dec 2018 10:04:40 -0500 Received: from usa-sjc-mx-foss1.foss.arm.com ([217.140.101.70]:47046 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725998AbeLGPEj (ORCPT ); Fri, 7 Dec 2018 10:04:39 -0500 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id E6F7B15AB; Fri, 7 Dec 2018 07:04:38 -0800 (PST) Received: from e107155-lin (e107155-lin.cambridge.arm.com [10.1.196.42]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 4143C3F575; Fri, 7 Dec 2018 07:04:35 -0800 (PST) Date: Fri, 7 Dec 2018 15:04:32 +0000 From: Sudeep Holla To: Morten Rasmussen Cc: Atish Patra , linux-kernel@vger.kernel.org, Albert Ou , Anup Patel , Ard Biesheuvel , Catalin Marinas , devicetree@vger.kernel.org, Dmitriy Cherkasov , Greg Kroah-Hartman , Ingo Molnar , Jeremy Linton , Juri Lelli , "moderated list:ARM64 PORT (AARCH64 ARCHITECTURE)" , linux-riscv@lists.infradead.org, Mark Rutland , Palmer Dabbelt , "Peter Zijlstra (Intel)" , "Rafael J. Wysocki" , Rob Herring , Thomas Gleixner , Will Deacon , Sudeep Holla Subject: Re: [RFT PATCH v1 0/4] Unify CPU topology across ARM64 & RISC-V Message-ID: <20181207150432.GB4100@e107155-lin> References: <1543534100-3654-1-git-send-email-atish.patra@wdc.com> <20181207134509.GA5913@e105550-lin.cambridge.arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20181207134509.GA5913@e105550-lin.cambridge.arm.com> User-Agent: Mutt/1.9.4 (2018-02-28) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Dec 07, 2018 at 01:45:21PM +0000, Morten Rasmussen wrote: > Hi, > > On Thu, Nov 29, 2018 at 03:28:16PM -0800, Atish Patra wrote: > > The cpu-map DT entry in ARM64 can describe the CPU topology in > > much better way compared to other existing approaches. RISC-V can > > easily adopt this binding to represent it's own CPU topology. > > Thus, both cpu-map DT binding and topology parsing code can be > > moved to a common location so that RISC-V or any other > > architecture can leverage that. > > > > The relevant discussion regarding unifying cpu topology can be > > found in [1]. > > > > arch_topology seems to be a perfect place to move the common > > code. I have not introduced any functional changes in the moved > > code. The only downside in this approach is that the capacity > > code will be executed for RISC-V as well. But, it will exit > > immediately after not able to find the appropriate DT node. If > > the overhead is considered too much, we can always compile out > > capacity related functions under a different config for the > > architectures that do not support them. > > > > The patches have been tested for RISC-V and compile tested for > > ARM64 & x86. > > The cpu-map bindings are used for arch/arm too, and so is > arch_topology.c. In fact, it was introduced to allow code-sharing > between arm and arm64. Applying patch three breaks arm. > Ah right. Though I remember the whole point of moving these to arch_topology was to share between ARM and ARM64, I completely forgot to check the impact of this for ARM platforms. > Moving the DT parsing to arch_topology.c we have to unify all three > architectures. Be aware that arm and arm64 have some differences in how > they detect cpu capacities. I think we might have to look at the split > of code between arch/* and arch_topology.c again :-/ > Thanks for pointing this out. I completely agree and apologies for forgetting about arm32. Regards, Sudeep