Received: by 2002:a05:7412:d8a:b0:e2:908c:2ebd with SMTP id b10csp353361rdg; Thu, 12 Oct 2023 07:33:38 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGKKIUKLj12Cf7yb14hT5xDbo6FEN9bdM2q53VgxN33GNNNWgLl3omBSLj6gl7rLaYje1fv X-Received: by 2002:a05:6870:730d:b0:1dc:9714:e2b3 with SMTP id q13-20020a056870730d00b001dc9714e2b3mr28817745oal.7.1697121218286; Thu, 12 Oct 2023 07:33:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1697121218; cv=none; d=google.com; s=arc-20160816; b=uyPWqfint3tOvdiYRrMgA67aS6aWIpHQvCTr+GQVdRVD/w0+ragPOq6pxqJWUdJQz0 Ud/Z9BuqMKXGMOVcy8C2XNyY1LiEug5WJEVmctSNbSEe1aAo4L38hMa1131zc1PwSOUz r1UmTKCXcr8JNAiiO12n+uMckLIxy+5rwAfzEyZpKUm7G9apFQyosqVIdzRXUjM/c37h jXTmWQHsLF1ELgRcl2FJgm4/atnoSU/IZq7ibblgVZSlFIUHfQbsQ05VaBDX+xl20IKv XIn1wMzrruf7qfQQqSBmGqQJYsNC5gFEnD23bThvpQg1XiyAuadNGmr+LeFFoxS4dMYQ SK3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=TxH18hLSYBKsmrLT97mZp8il9TrZvQpAXSxrIgrs57M=; fh=Nv7NcH2g3txwzj7qewEBNML2WRFRP76CtM09rjNxR/M=; b=cjYxKlYAhwk1yxUcLshxGX5bUaoY2SFUgTy6+H274llT3OP38rK5UxXKwcIfWQbsi2 2ppdpTmj2z24uZGpL+xwWQSF75bs4Q3AGvM94LkJUtvlToHuYYXR6zRa2dykCHU9hiD7 8drt/6rZ05uLdHXuKxwh5y12sewZdFA0biWW+Tm2yCpDzLAz/DNePRCpBszWqgWJAGra RfXEvFfw7vsGcMWXKlNl5ld0HVkyoTEqtgb3y2R0X/82zAmldolrad8PU3V7649cvdlA TinvxniMPDie7eYib2kqNuol1N9WWRq2vhAnfNqQIbEnmB/PHRhqAiicPTLwnT1nBd+q vAVg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=moZ684sD; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from lipwig.vger.email (lipwig.vger.email. [2620:137:e000::3:3]) by mx.google.com with ESMTPS id f3-20020a63de03000000b0055b43079640si2376680pgg.707.2023.10.12.07.33.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Oct 2023 07:33:38 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) client-ip=2620:137:e000::3:3; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=moZ684sD; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id 024D98261017; Thu, 12 Oct 2023 07:33:36 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232597AbjJLOdX (ORCPT + 99 others); Thu, 12 Oct 2023 10:33:23 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51092 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231750AbjJLOdV (ORCPT ); Thu, 12 Oct 2023 10:33:21 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 04202BB for ; Thu, 12 Oct 2023 07:33:19 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 70FB4C433C8; Thu, 12 Oct 2023 14:33:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1697121199; bh=Ev2GnSgnN2D6OU+cvZem2qbvf+gC1yIh+IRKc5cJw4M=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=moZ684sDcVQ3HUjjeJR3BezTmgl1nG8v7DSoDIUmhpckZKKm8jjW4bl1WVeCDljDA PO2cDZDaCvAeyM4+5HxUmn98bZ4rrukkScwXdVTcX6+Ex8MA+nD0QyiX2LdbZJt0CQ aQz7Rv5A8EZhKvSDKtb3uDBy3JcpYat99a7d4E8IrNEYnpmh5cAz+PMRLZaf4qQ9rH ale/nDMpo0ZMEoasY78mee7FeHuJjTRA63lT7TDgB1dxU8YKFeL4OABStDLK+G3F+z GabLbkcnBj5weEPXXv8cBBprFoNyP5aDGKjhBfXJxPvl+HJoXBxpsUF1hxSuc+L6TA YakNxuVJCvhvw== Date: Thu, 12 Oct 2023 22:21:08 +0800 From: Jisheng Zhang To: Paul Walmsley , Palmer Dabbelt , Albert Ou Cc: Guo Ren , linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v3 0/2] riscv: errata: thead: use riscv_nonstd_cache_ops for CMO Message-ID: References: <20231012141456.4078-1-jszhang@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20231012141456.4078-1-jszhang@kernel.org> X-Spam-Status: No, score=-1.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (lipwig.vger.email [0.0.0.0]); Thu, 12 Oct 2023 07:33:36 -0700 (PDT) On Thu, Oct 12, 2023 at 10:14:54PM +0800, Jisheng Zhang wrote: > Previously, we use alternative mechanism to dynamically patch > the CMO operations for THEAD C906/C910 during boot for performance > reason. But as pointed out by Arnd, "there is already a significant > cost in accessing the invalidated cache lines afterwards, which is > likely going to be much higher than the cost of an indirect branch". > And indeed, there's no performance difference with GMAC and EMMC per > my test on Sipeed Lichee Pi 4A board. > > Use riscv_nonstd_cache_ops for THEAD C906/C910 CMO to simplify > the alternative code, and to acchieve Arnd's goal -- "I think > moving the THEAD ops at the same level as all nonstandard operations > makes sense, but I'd still leave CMO as an explicit fast path that > avoids the indirect branch. This seems like the right thing to do both > for readability and for platforms on which the indirect branch has a > noticeable overhead." > > To make bisect easy, I use two patches here: patch1 does the conversion > which just mimics current CMO behavior via. riscv_nonstd_cache_ops, I > assume no functionalities changes. patch2 uses T-HEAD PA based CMO > instructions so that we don't need to covert PA to VA. > > Hi Guo, > > I didn't use wback_inv for wback as you suggested during v1 reviewing, > this can be left as future optimizations. > > Thanks > > since v2: > - collect Reviewed-by tag Oh, I missed the tag collection, but I know maintainers are using b4 which can collect and apply tags automatically ;). let me know if want a new version. > - fix typo > > since v1: > - collect Tested-by tag > - add patch2 to use T-HEAD PA based CMO instructions. > > Jisheng Zhang (2): > riscv: errata: thead: use riscv_nonstd_cache_ops for CMO > riscv: errata: thead: use pa based instructions for CMO > > arch/riscv/Kconfig.errata | 1 + > arch/riscv/errata/thead/errata.c | 69 +++++++++++++++++++++++++++- > arch/riscv/include/asm/errata_list.h | 50 +++----------------- > 3 files changed, 74 insertions(+), 46 deletions(-) > > -- > 2.40.1 > > > _______________________________________________ > linux-riscv mailing list > linux-riscv@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-riscv