From patchwork Tue Mar 4 12:00:20 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Andrew Jones X-Patchwork-Id: 14000623 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 CA6A0C021B8 for ; Tue, 4 Mar 2025 12:10:50 +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:MIME-Version:References:In-Reply-To: Message-ID:Date: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=i9fDrrYpNE0FocQ/dpWLcBDDyuVQdM6n1DalHmOzbCk=; b=tm7/LlcbsqQIIZ J6efxyVLe0gzVSqpnJrJfGjW4TsGVNzWhaYMi1C289VkRUxuuEdVChooaRru7T9boZNBNaEK58x8S gRnjQBMXLhSJJZqrDCHgHPAHrZxFJOHqo09H8mR/l3uZS4gI53qrer4e3l2yZ3vVzXZbco6ikHIvb qoxvkX72eK//bRDpfWW3eR70u1u0jcwYy9FwlfH89v63l/l0byrRvjOtPNfuM/Nt3l9wrr493a64C d/WLAx3L+A2nX0BrZIV/y3213QGuCqT+/KP9PR68kRLFnWbVrtrkHkjXjQCPFx23dAS50uSH9rCyv rPfHK1DElfPaOZkkkxRA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tpR6k-00000004Zj1-1aRS; Tue, 04 Mar 2025 12:10:46 +0000 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tpQwh-00000004V8M-26aR for linux-riscv@lists.infradead.org; Tue, 04 Mar 2025 12:00:24 +0000 Received: by mail-wr1-x434.google.com with SMTP id ffacd0b85a97d-390f5556579so2145538f8f.1 for ; Tue, 04 Mar 2025 04:00:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1741089622; x=1741694422; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=wuV5PBYNprCWaplq1fE9KG6ZTDkt+mehdrAbLFdmJ0U=; b=M6mit9Wa9WzsEGxd1TaedSBng5J5cr6fQZUvTwkHvOnT1WRNoE+NGzSeXDRgHEtNFv GdOvXCLNhBAiBTYOUpcAd+tgWjDgBDy07Mnz0tgwQpbCqjORJuj2ordhctYnLWWJokYs FSPOToK65v2rEgec0vAzPU1W+7yyx+s1Nos/Ti9FZH3t5eHrGkC0LBO3jKj4UVvTKW1f 1T8RRrVuUUB8QL7/tzRZcgZdYKtoaFTmD9pyrGzON6IAUDVfb1FIC/HNY0uKaUeI6bQr 5h50JnxgOpXnJzaTSWo63n7hdCNqnVBkttvro2Zd2nvIInLsFoaOy+BN7O4DFtYI9CyY yYAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741089622; x=1741694422; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=wuV5PBYNprCWaplq1fE9KG6ZTDkt+mehdrAbLFdmJ0U=; b=S33+HCJ2MvGRr74BOurbzNmC6moYIZd8gCa2V6EvmdCYUvKxEaZMJ+PIFOBfgSGcwn 5f7TWK4paGSJSH5dSeamP0fXTYiJ9P1PM4/cdj34+ch7cTW6mlloOysJFXoY9ue9hyn8 /Ivv8q6AxyKTmiLjUtSRC093lsZr69qb2U5uXRxHCuXYnG7OEvd2C7MBs3CFlBRprCPW fvKntx0OfBMTT1KraaxErrg/9PNEkK65vzor1lV7XekLN7NBJ5LOZ9oMNLuWnhgDnixl uAuOwanvAv9AMniUqXCRdvRJ/etNV9CucOuEz973c0sHNO4lyeFEeDkhZaMO4+kep9Mk 3p7Q== X-Gm-Message-State: AOJu0YxzhBSoE+r9CSiKbU6zuhkjyRAK20R8LuxeHGo+CUqWcO/4r3hn VaQuvnok4V524BEi50nFdjpal9FvvaTrTWxnx+NAgrttpPUhTkINtmIZlGSyYxXjzMgQpIaJD4P M X-Gm-Gg: ASbGncsOfn0knCnV+hKxq8NfF6mjFeKmet+E4a9FubokrcvDYC7rkWuzA4EJ4lpmvD9 Vn0JS4yIWBrOWtYw5AbApIdHQmSQqHepY7HvwGaKvCiOfXO3Rg165RSDguuA4WGtYeE/izSZYCT zror2QJydt2ZERImoEUIDt6nTV+Izugbahp84ImdJdhSozDJgY7w2Mb04K+Ipe5M+z/t7quGd8g VxisADfvTMeJ/9cmKZZzQJmF/P7vbg6OjyWAX0ZWHzUZh51PZCl7JAt8VaH530KMvJtho6Rk6wa ZPiH+5wENBb6/r2xXY7QK7JflWrKcDZF X-Google-Smtp-Source: AGHT+IGcci4G63CqfkUGtRt/jLkQ1vLNMVzi6Jgp49YWUaQ3MwCP8mUgjvhFVQaeb/Hx3FHq79pKNw== X-Received: by 2002:a05:6000:42c9:b0:38f:43c8:f765 with SMTP id ffacd0b85a97d-390ec7d2e69mr10172733f8f.26.1741089621937; Tue, 04 Mar 2025 04:00:21 -0800 (PST) Received: from localhost ([2a02:8308:a00c:e200::688c]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-390e4844892sm17593655f8f.64.2025.03.04.04.00.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Mar 2025 04:00:21 -0800 (PST) From: Andrew Jones To: linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org Cc: paul.walmsley@sifive.com, palmer@dabbelt.com, charlie@rivosinc.com, cleger@rivosinc.com, alex@ghiti.fr, Anup Patel , corbet@lwn.net, Alexandre Ghiti Subject: [PATCH v3 5/8] riscv: Fix set up of cpu hotplug callbacks Date: Tue, 4 Mar 2025 13:00:20 +0100 Message-ID: <20250304120014.143628-15-ajones@ventanamicro.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250304120014.143628-10-ajones@ventanamicro.com> References: <20250304120014.143628-10-ajones@ventanamicro.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250304_040023_540049_8486DA8B X-CRM114-Status: GOOD ( 13.42 ) 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: , Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org CPU hotplug callbacks should be set up even if we detected all current cpus emulate misaligned accesses, since we want to ensure our expectations of all cpus emulating is maintained. Fixes: 6e5ce7f2eae3 ("riscv: Decouple emulated unaligned accesses from access speed") Fixes: e7c9d66e313b ("RISC-V: Report vector unaligned access speed hwprobe") Reviewed-by: Clément Léger Reviewed-by: Alexandre Ghiti Signed-off-by: Andrew Jones --- arch/riscv/kernel/unaligned_access_speed.c | 27 +++++++++++----------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/arch/riscv/kernel/unaligned_access_speed.c b/arch/riscv/kernel/unaligned_access_speed.c index 780f1c5f512a..c9d3237649bb 100644 --- a/arch/riscv/kernel/unaligned_access_speed.c +++ b/arch/riscv/kernel/unaligned_access_speed.c @@ -247,13 +247,6 @@ static void __init check_unaligned_access_speed_all_cpus(void) /* Check core 0. */ smp_call_on_cpu(0, check_unaligned_access, bufs[0], true); - /* - * Setup hotplug callbacks for any new CPUs that come online or go - * offline. - */ - cpuhp_setup_state_nocalls(CPUHP_AP_ONLINE_DYN, "riscv:online", - riscv_online_cpu, riscv_offline_cpu); - out: for_each_cpu(cpu, cpu_online_mask) { if (bufs[cpu]) @@ -383,13 +376,6 @@ static int __init vec_check_unaligned_access_speed_all_cpus(void *unused __alway { schedule_on_each_cpu(check_vector_unaligned_access); - /* - * Setup hotplug callbacks for any new CPUs that come online or go - * offline. - */ - cpuhp_setup_state_nocalls(CPUHP_AP_ONLINE_DYN, "riscv:online", - riscv_online_cpu_vec, NULL); - return 0; } #else /* CONFIG_RISCV_PROBE_VECTOR_UNALIGNED_ACCESS */ @@ -415,6 +401,19 @@ static int __init check_unaligned_access_all_cpus(void) NULL, "vec_check_unaligned_access_speed_all_cpus"); } + /* + * Setup hotplug callbacks for any new CPUs that come online or go + * offline. + */ +#ifdef CONFIG_RISCV_PROBE_UNALIGNED_ACCESS + cpuhp_setup_state_nocalls(CPUHP_AP_ONLINE_DYN, "riscv:online", + riscv_online_cpu, riscv_offline_cpu); +#endif +#ifdef CONFIG_RISCV_PROBE_VECTOR_UNALIGNED_ACCESS + cpuhp_setup_state_nocalls(CPUHP_AP_ONLINE_DYN, "riscv:online", + riscv_online_cpu_vec, NULL); +#endif + return 0; }