From patchwork Tue Sep 12 15:40:40 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jisheng Zhang X-Patchwork-Id: 138289 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9ecd:0:b0:3f2:4152:657d with SMTP id t13csp518244vqx; Tue, 12 Sep 2023 09:13:23 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGvgrDtdLWNt1/oVskTrI3iR2qCShkgOPXXzLt1IjZDIUEh5fUFS7ZQFLU0SpJ+ZySaC7eY X-Received: by 2002:a05:6a20:13d7:b0:14c:5fa6:e308 with SMTP id ho23-20020a056a2013d700b0014c5fa6e308mr10855614pzc.43.1694535202868; Tue, 12 Sep 2023 09:13:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1694535202; cv=none; d=google.com; s=arc-20160816; b=MvJDbIt77CSuka2DPEAyGSIoQ/zlax2XXZzzML7WiwjqZDNhit0vQjQmwxIoPU8S0G c98DBsar2kLdzEiNHFjzN+1haYvxQvPTX2EYNzl0K8pUOyD1A2dF2ygVWMpffDSZC65E t/31ekE7oT9rjtZ+m3NGY4kNnOUSDvplChVxbvAfThfFSJ7lhfQNEZCstLx+3AfisZ6t HMRyFDKjUeS80FiazXaposQu3mJnH3xkqTkDuXO/fgTpAGNpweifPj+tdOl7CYlHjWZp ecrwGNPV818Isz5zwLMedVkhlDAIOnfiDAdHejevEDwYcEXa4ATmkIvW2W0QyZSzoXka EX5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=LWiX3t8UTsu3XXqa4uHSX1r8dheIIm7YPk9NQuGCRVM=; fh=srb/EijQIrMEdOeqn3qQX6qrsAGyqHAqeSFkl/qDdLM=; b=YGGcnf2u2k21SSnbC2geHqmYS9M7jQHCwtBhHzU9d928Lr4awh5GdnELYPFUWsCBnV 1sWXsrsOi5OIMadcTaFhrwpsP8RNJHp/1G/q6xm6NhktUcic3APnLesnJBAI3yjQNCmi rO29/F4ngl996g+hTaAE0qpwgyISu1PZB0NampYnN5Ja1fU9y9nReVwZIr2Gl2MkXq4X 1zrIG7zK8tuDM/OCSg2+fppZzulq5pp4wjzeA/1IdqUTdBAXOVrVt6oxzKGepGkxk8uK pur5NpZR8JOLN5dyYU9l8yYYFzN+eKrliH34W+m7hWiLvXtW0nY91d/Paa9a2olxCwr5 Pu/g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=aLrIal6Z; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 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 pete.vger.email (pete.vger.email. [2620:137:e000::3:6]) by mx.google.com with ESMTPS id i9-20020a639d09000000b00573fdbc93c0si8103533pgd.892.2023.09.12.09.13.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Sep 2023 09:13:22 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) client-ip=2620:137:e000::3:6; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=aLrIal6Z; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 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 pete.vger.email (Postfix) with ESMTP id 7D7E1823D9C6; Tue, 12 Sep 2023 09:01:53 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at pete.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236457AbjILPwx (ORCPT + 37 others); Tue, 12 Sep 2023 11:52:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48532 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236405AbjILPws (ORCPT ); Tue, 12 Sep 2023 11:52:48 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1E17E10EA for ; Tue, 12 Sep 2023 08:52:45 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 55EECC433B7; Tue, 12 Sep 2023 15:52:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1694533964; bh=fqPeDI8Tt7B0BD4Ll8OcOc/JgS0VBc5dnAfvkG4MkHA=; h=From:To:Cc:Subject:Date:From; b=aLrIal6ZBzeZEM9eVXol0jhbD+o/w6bFN9FN/ICV1ES4EnPJ7tD5Y9I/X5WIuaWfR 0lopRtj467/JrGLuvj+KBwqHmb8epOKqfprax0FE6uhUn9nOWcvi6jngib9p3Ucr/n VVfZojXeLLwiRyD+5d7fjpLxmYfP/KAMjpMa/8xmrj4cR0b4tH05SMW4d+KUe0mpqL lh10N/RyoNZuGnVGvIvyAVaLdSz/fec+agf5+7sADsdNnrKAmnL2RhsEpmLkcNlkTc y+20tJdpBECCdaVHPzUVGCxOxn6SkrL1Lcf8kZLrG6dABf4wUyePl2ePQeSuv0Qwbt /w52sn23BGfLg== From: Jisheng Zhang To: Paul Walmsley , Palmer Dabbelt , Albert Ou Cc: linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH] riscv: don't probe unaligned access speed if already done Date: Tue, 12 Sep 2023 23:40:40 +0800 Message-Id: <20230912154040.3306-1-jszhang@kernel.org> X-Mailer: git-send-email 2.40.0 MIME-Version: 1.0 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 (pete.vger.email [0.0.0.0]); Tue, 12 Sep 2023 09:01:53 -0700 (PDT) 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 pete.vger.email X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1776848945136161208 X-GMAIL-MSGID: 1776848945136161208 If misaligned_access_speed percpu var isn't so called "HWPROBE MISALIGNED UNKNOWN", it means the probe has happened(this is possible for example, hotplug off then hotplug on one cpu), and the percpu var has been set, don't probe again in this case. Signed-off-by: Jisheng Zhang Reviewed-by: Conor Dooley --- arch/riscv/kernel/cpufeature.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/riscv/kernel/cpufeature.c b/arch/riscv/kernel/cpufeature.c index 1cfbba65d11a..e12cd22755c7 100644 --- a/arch/riscv/kernel/cpufeature.c +++ b/arch/riscv/kernel/cpufeature.c @@ -568,6 +568,10 @@ void check_unaligned_access(int cpu) void *src; long speed = RISCV_HWPROBE_MISALIGNED_SLOW; + /* We are already set since the last check */ + if (per_cpu(misaligned_access_speed, cpu) != RISCV_HWPROBE_MISALIGNED_UNKNOWN) + return; + page = alloc_pages(GFP_NOWAIT, get_order(MISALIGNED_BUFFER_SIZE)); if (!page) { pr_warn("Can't alloc pages to measure memcpy performance");