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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7D572C47074 for ; Thu, 4 Jan 2024 11:58:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0132F6B037E; Thu, 4 Jan 2024 06:58:45 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id EB7136B0383; Thu, 4 Jan 2024 06:58:44 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D31536B0384; Thu, 4 Jan 2024 06:58:44 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id BE1866B0383 for ; Thu, 4 Jan 2024 06:58:44 -0500 (EST) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 90500A1E9D for ; Thu, 4 Jan 2024 11:58:44 +0000 (UTC) X-FDA: 81641481768.23.710B96F Received: from mail-ej1-f49.google.com (mail-ej1-f49.google.com [209.85.218.49]) by imf28.hostedemail.com (Postfix) with ESMTP id A3D9BC000F for ; Thu, 4 Jan 2024 11:58:42 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=rivosinc-com.20230601.gappssmtp.com header.s=20230601 header.b=CYnEUv9s; dmarc=none; spf=pass (imf28.hostedemail.com: domain of alexghiti@rivosinc.com designates 209.85.218.49 as permitted sender) smtp.mailfrom=alexghiti@rivosinc.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1704369522; a=rsa-sha256; cv=none; b=UJKsErvzV3Y2yaShABcvqGTV9Ln2y4Q79IZd4pOnildAI6jfLVRmHfLtdLRcPPn3cWbHH9 x6dM2fabZqAdU+k4WmDwua9PMjVRDYqOn3waT/H8jJ9y+W5afZ4BNZ4kcv4J/JCLhswDuh ZLqRA+6wf03Vgu/0QosrCyEz09fKBP4= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=rivosinc-com.20230601.gappssmtp.com header.s=20230601 header.b=CYnEUv9s; dmarc=none; spf=pass (imf28.hostedemail.com: domain of alexghiti@rivosinc.com designates 209.85.218.49 as permitted sender) smtp.mailfrom=alexghiti@rivosinc.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1704369522; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=biEC4RdBheGrNbgmPXjbRT8tBxezcZaF2c5NyP81mLc=; b=oEuTXKlsZ2PxFYAy6AOk0aqMeJw20WnAHxn7ZvdWh0iX3LbwEa2FrEfONar7mkQov9d7kb TzCrDB6t43SI5MtUp1WWpsAGbFZ21e/LPhHrC/tCu66l8aAZgWCA8+PJJmfrU4yqr1nxc8 PAf6R1aXG3amyFbLYlQz3WF31lLnhGE= Received: by mail-ej1-f49.google.com with SMTP id a640c23a62f3a-a28e6392281so43700366b.0 for ; Thu, 04 Jan 2024 03:58:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20230601.gappssmtp.com; s=20230601; t=1704369521; x=1704974321; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=biEC4RdBheGrNbgmPXjbRT8tBxezcZaF2c5NyP81mLc=; b=CYnEUv9sgh+ztWNEWhQQTC0w2WJzklYpKyzmZz9Cl/DIMFo9Dbho0WsljVTLFQDWwE aXdDQcbjO1/QhUjZ6lkjNtiw085zXN5drXNmOlbj9S4Nm+Fi29cl+/O0IURrCLYiyn8A 8kmuVU1u84pJlm8UOVgfPZdvCZ7d5dgJR+U975u42LhIkBcR0olXtB1RyMRwXBxT+lot IUhsPMChD60PXXp1U6Ol4wUB69lDqCYdOIpEI3sbsxgVHeXtEdlc8sDIGRpZhyury6es zZOkfS4SWwQ/K4LC6CHQ4wjRFxa6rlA5G6TpZpUSniFpZ2VJ92i4i0Ms38c7YLIiLSCD 0erg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1704369521; x=1704974321; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=biEC4RdBheGrNbgmPXjbRT8tBxezcZaF2c5NyP81mLc=; b=jcd4tDxQrK6SrzRr50FGFfS170iG2dV4M4q0T5WTTHyK1M7SQG/cW7QI2cxVZ2PIwj a8BUWCSqBxpiQBPgod971+vNQmueNGsiL167EP/ZoXTOT8IXp/UuYMKv78B9nk6PxprC JtK6Zj69Rr+XJWkX1rN2CM0OLNmuoeR1EaPgjMW9Imhk/zegUj8sWwpPfMb7DvQrh2pa OotG2zUrFLDAVngwXNsPNrtYABmqaiJu8Kc474swsZIq+0eOm5r+BL0aPajsBuaE6hFQ q5luvP4d71aFe3qmlbZLBrcD0YsvAkdBzN2Arj4wX0FJ3D74AUZYNSarRJ2QagG92Ltg +1fg== X-Gm-Message-State: AOJu0YxDJhnJ9irtRaTbZCnndGytOi4SpZjrJzZYDog6SHtlJgHJE70/ aO2mfYW8AZnXw9Y1S9VBfHXNGjApuNVCpRn5rHXiaJDGce4Qbw== X-Google-Smtp-Source: AGHT+IH9leLmV7SjLOc/Li9cgWIvDV0khEwPnd3n91ththizegEoLyva2lAScUcn+idPmK2OepoE4yqrYtFzFpwYVN0= X-Received: by 2002:a17:907:1b25:b0:a24:8deb:3524 with SMTP id mp37-20020a1709071b2500b00a248deb3524mr374427ejc.54.1704369521084; Thu, 04 Jan 2024 03:58:41 -0800 (PST) MIME-Version: 1.0 References: <20240102220134.3229156-1-samuel.holland@sifive.com> <20240102220134.3229156-2-samuel.holland@sifive.com> In-Reply-To: <20240102220134.3229156-2-samuel.holland@sifive.com> From: Alexandre Ghiti Date: Thu, 4 Jan 2024 12:58:30 +0100 Message-ID: Subject: Re: [PATCH v4 01/12] riscv: Flush the instruction cache during SMP bringup To: Samuel Holland Cc: Palmer Dabbelt , linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: A3D9BC000F X-Stat-Signature: a31e6s6785go89d9zmtqwiq5th8syfqq X-HE-Tag: 1704369522-412466 X-HE-Meta: U2FsdGVkX1+5vwgVVU+2Gmwo+dCtWAapSJ/7z8DM+isayLbmtzHrZJou1pusUyU5PFearLXkSIcCpnvWGV+/cIwLdiz5kAnLmtLGgAaw7gyxzFT+fntgL1QTvRma3EcVvbORfTrs6KnwOHbaYlGoWzbHlqNCWu4YshcdiPOMRL+lmXMcA+POAKy7cYe6F8PIVh3suiPsneCERSGHkhqj/3kVB9NER+lQ39G7fno5UluljmeRW5U5dX2gJJ1Fi/tL91FCJLKvSA7JH7D4T1PeXab49lwL9r9HCgi3c53xb5f5mZqJLGnNMJaGbNmVM+QLu3/oXnOOCnf+/L48JrXcihgzjJ6CKehDRwCwuT3q4pi+U5jR/VmlqKFaoi/I7tiNdwPvmH+rWuQi70Ka6ezsvJMSekRCMPBJt5AVuERSO19y42a/0WHMtX9pKMorybdIsuuJyezuUbIE4X2KtuiH//eFdMkS4hVJMALifISwqmZPUjernvezx37th2F9aZJhl7ew7TfAN/lBzsGLMJJBS18CCwWNOaZMo89kIovN344Gt9czQGpomebmRYPx2d11Q32zWUtWh0mpEZfTxHdQfpvWE7UOtQdLnY5nKNHrM3gGer19HzrrHZQzvK8r7vMElQADxehf1qwsFjEddkAzyjU+8hlpk7gGap/bWkUnGyfl2lQ7Mx39xkxGXbhkybmfDH99UkbxRrUb4Sy6g/Uj/Bd0A4i8D1YkH262EiTq7/cR0aCKM5FVpMkQaXcos0F2eqd4rgltFUMez6Zm6Ydt3hDR+zEHsCFnf2BI2c27lRvuGEt4ic+GJw1Bm47HRD2NRomXgwjNf0kTeghaDY98G8Fa6evG6xK4u/WxpRlrq1Bt3Gl7FdaKAOPppAg7v73hX7rTQydH0vz/UhRocoo0o3B0IJKMH9JU5C5dJS5RNU2CX1k2wNZ05SfdA3UwbZ92RqRxjPrqGF2puJEEO20 z7YNJiCq q0X8BcOzJQQBjtizRjjYQkdVLqtfXp5I1az3ac6iCn3T6wjVqWXQkNytNpY+Izz0HG2wESFj0YGuIwOBQM/h0OD5RSZebHYsZPl98VuvKtHyGI9R+oSWonMM0MNWaUQr1qUzq/cOVnk6BsNu0V8QoZQ4WRw3KW42ktXnu3LwANEVJpfZKjxtxmnkd5inOr8Kv3M6i6XlsnNECvq5MDGCN3UcbXTDkN8CLfGUJs5lQ+2A4BNDjVM+qBjtr9Q9Ri3S7ZEcKn+Bh1onSRirFHaPQwGYzMVEJWA/SLqDYkjCf5B0XtzVxpZWt8/8aQifdLtpvPA0Rqd6ygdeMjixhWeSsssPggRw2PHR4EHcyoku4X7gA0SPhICNBlIU9aj53d0Txw6/sc0EcPDuYLtZ0I+MGvw5cowIOmFOHM6Z3WbjxhEqgsR+QNBH8q35pyQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.002322, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Hi Samuel, On Tue, Jan 2, 2024 at 11:01=E2=80=AFPM Samuel Holland wrote: > > Instruction cache flush IPIs are sent only to CPUs in cpu_online_mask, > so they will not target a CPU until it calls set_cpu_online() earlier in > smp_callin(). As a result, if instruction memory is modified between the > CPU coming out of reset and that point, then its instruction cache may > contain stale data. Therefore, the instruction cache must be flushed > after the set_cpu_online() synchronization point. > > Fixes: 08f051eda33b ("RISC-V: Flush I$ when making a dirty page executabl= e") > Signed-off-by: Samuel Holland > --- > > Changes in v4: > - New patch for v4 > > arch/riscv/kernel/smpboot.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/arch/riscv/kernel/smpboot.c b/arch/riscv/kernel/smpboot.c > index d162bf339beb..48af5bd3ec30 100644 > --- a/arch/riscv/kernel/smpboot.c > +++ b/arch/riscv/kernel/smpboot.c > @@ -26,7 +26,7 @@ > #include > #include > > -#include > +#include > #include > #include > #include > @@ -257,9 +257,10 @@ asmlinkage __visible void smp_callin(void) > riscv_user_isa_enable(); > > /* > - * Remote TLB flushes are ignored while the CPU is offline, so em= it > - * a local TLB flush right now just in case. > + * Remote cache and TLB flushes are ignored while the CPU is offl= ine, > + * so flush them both right now just in case. > */ > + local_flush_icache_all(); > local_flush_tlb_all(); > complete(&cpu_running); > /* > -- > 2.42.0 > This looks good to me, so you can add: Reviewed-by: Alexandre Ghiti Thanks, Alex