All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrea Parri <parri.andrea@gmail.com>
To: "Björn Töpel" <bjorn@kernel.org>
Cc: Andy Chiu <andybnac@gmail.com>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org,
	bjorn@rivosinc.com, puranjay12@gmail.com, alexghiti@rivosinc.com,
	yongxuan.wang@sifive.com, greentime.hu@sifive.com,
	nick.hu@sifive.com, nylon.chen@sifive.com, tommy.wu@sifive.com,
	eric.lin@sifive.com, viccent.chen@sifive.com, zong.li@sifive.com,
	samuel.holland@sifive.com
Subject: Re: [PATCH v3 6/7] riscv: add a data fence for CMODX in the kernel mode
Date: Tue, 11 Mar 2025 13:44:07 +0100	[thread overview]
Message-ID: <Z9AwF5hwF0ES9Grl@andrea> (raw)
In-Reply-To: <87ldtck8k0.fsf@all.your.base.are.belong.to.us>

> FWIW, the for S-IMSIC the write is already writel(), so we'll have the
> text patching and IPI ordered. Regardless, there's more than one flavor
> of IPI on RISC-V!

AFAIU, this writel() is intended to order the insertion (and the initialization)
of the CSD object before the MMIO writes; so, the "right fix" seems to turn the
"other flavors" into using a writel() or providing a similar ordering guarantee.

As a bonus, such change should address/fix all current and future occurrences of
the message-passing scenario in question (the patch addressed the occurrence in
flush_icache_all(), but there appears to be a similar one in flush_icache_mm()).

Or am I misunderstanding your previous comment?

  Andrea

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

WARNING: multiple messages have this Message-ID (diff)
From: Andrea Parri <parri.andrea@gmail.com>
To: "Björn Töpel" <bjorn@kernel.org>
Cc: Andy Chiu <andybnac@gmail.com>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org,
	bjorn@rivosinc.com, puranjay12@gmail.com, alexghiti@rivosinc.com,
	yongxuan.wang@sifive.com, greentime.hu@sifive.com,
	nick.hu@sifive.com, nylon.chen@sifive.com, tommy.wu@sifive.com,
	eric.lin@sifive.com, viccent.chen@sifive.com, zong.li@sifive.com,
	samuel.holland@sifive.com
Subject: Re: [PATCH v3 6/7] riscv: add a data fence for CMODX in the kernel mode
Date: Tue, 11 Mar 2025 13:44:07 +0100	[thread overview]
Message-ID: <Z9AwF5hwF0ES9Grl@andrea> (raw)
In-Reply-To: <87ldtck8k0.fsf@all.your.base.are.belong.to.us>

> FWIW, the for S-IMSIC the write is already writel(), so we'll have the
> text patching and IPI ordered. Regardless, there's more than one flavor
> of IPI on RISC-V!

AFAIU, this writel() is intended to order the insertion (and the initialization)
of the CSD object before the MMIO writes; so, the "right fix" seems to turn the
"other flavors" into using a writel() or providing a similar ordering guarantee.

As a bonus, such change should address/fix all current and future occurrences of
the message-passing scenario in question (the patch addressed the occurrence in
flush_icache_all(), but there appears to be a similar one in flush_icache_mm()).

Or am I misunderstanding your previous comment?

  Andrea

  reply	other threads:[~2025-03-11 12:50 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-27 17:29 [PATCH v3 0/7] riscv: ftrace: atmoic patching and preempt improvements Andy Chiu
2024-11-27 17:29 ` Andy Chiu
2024-11-27 17:29 ` [PATCH v3 1/7] riscv: ftrace: support fastcc in Clang for WITH_ARGS Andy Chiu
2024-11-27 17:29   ` Andy Chiu
2024-12-03 12:05   ` Björn Töpel
2024-12-03 12:05     ` Björn Töpel
2024-12-03 14:44     ` Evgenii Shatokhin
2024-12-03 14:44       ` Evgenii Shatokhin
2024-11-27 17:29 ` [PATCH v3 2/7] riscv: ftrace: align patchable functions to 4 Byte boundary Andy Chiu
2024-11-27 17:29   ` Andy Chiu
2024-11-27 17:29 ` [PATCH v3 3/7] riscv: ftrace: prepare ftrace for atomic code patching Andy Chiu
2024-11-27 17:29   ` Andy Chiu
2024-12-01 15:31   ` Evgenii Shatokhin
2024-12-01 15:31     ` Evgenii Shatokhin
2024-12-02  7:29     ` Evgenii Shatokhin
2024-12-02  7:29       ` Evgenii Shatokhin
2024-12-06 10:02   ` Björn Töpel
2024-12-06 10:02     ` Björn Töpel
2024-12-06 23:35     ` Bagas Sanjaya
2024-12-06 23:35       ` Bagas Sanjaya
2024-12-09 14:57     ` Robbin Ehn
2024-12-09 14:57       ` Robbin Ehn
2024-11-27 17:29 ` [PATCH v3 4/7] riscv: ftrace: do not use stop_machine to update code Andy Chiu
2024-11-27 17:29   ` Andy Chiu
2024-11-27 17:29 ` [PATCH v3 5/7] riscv: vector: Support calling schedule() for preemptible Vector Andy Chiu
2024-11-27 17:29   ` Andy Chiu
2024-11-27 17:29 ` [PATCH v3 6/7] riscv: add a data fence for CMODX in the kernel mode Andy Chiu
2024-11-27 17:29   ` Andy Chiu
2025-03-10 19:08   ` Björn Töpel
2025-03-10 19:08     ` Björn Töpel
2025-03-11 12:44     ` Andrea Parri [this message]
2025-03-11 12:44       ` Andrea Parri
2025-03-11 14:53       ` Björn Töpel
2025-03-11 14:53         ` Björn Töpel
2025-03-11 18:11         ` Andrea Parri
2025-03-11 18:11           ` Andrea Parri
2025-03-13 18:12           ` Andy Chiu
2025-03-13 18:12             ` Andy Chiu
2025-03-14 15:23             ` Andrea Parri
2025-03-14 15:23               ` Andrea Parri
2024-11-27 17:29 ` [PATCH v3 7/7] riscv: ftrace: support PREEMPT Andy Chiu
2024-11-27 17:29   ` Andy Chiu
2025-03-10 19:09   ` Björn Töpel
2025-03-10 19:09     ` Björn Töpel
2024-11-27 21:25 ` [PATCH v3 0/7] riscv: ftrace: atmoic patching and preempt improvements Björn Töpel
2024-11-27 21:25   ` Björn Töpel
2024-12-24  3:15   ` Steven Rostedt
2024-12-24  3:15     ` Steven Rostedt
2024-12-29 19:08     ` Andy Chiu
2024-12-29 19:08       ` Andy Chiu
2025-01-06 15:22       ` Andy Chiu
2025-01-06 15:22         ` Andy Chiu
2024-12-02  7:58 ` Evgenii Shatokhin
2024-12-02  7:58   ` Evgenii Shatokhin
2024-12-11 15:38   ` Andy Chiu
2024-12-11 15:38     ` Andy Chiu
2024-12-03 12:18 ` Björn Töpel
2024-12-03 12:18   ` Björn Töpel
2024-12-03 15:09   ` Evgenii Shatokhin
2024-12-03 15:09     ` Evgenii Shatokhin
2024-12-06  8:39     ` Björn Töpel
2024-12-06  8:39       ` Björn Töpel
2024-12-11 15:48   ` Andy Chiu
2024-12-11 15:48     ` Andy Chiu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Z9AwF5hwF0ES9Grl@andrea \
    --to=parri.andrea@gmail.com \
    --cc=alexghiti@rivosinc.com \
    --cc=andybnac@gmail.com \
    --cc=aou@eecs.berkeley.edu \
    --cc=bjorn@kernel.org \
    --cc=bjorn@rivosinc.com \
    --cc=eric.lin@sifive.com \
    --cc=greentime.hu@sifive.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=nick.hu@sifive.com \
    --cc=nylon.chen@sifive.com \
    --cc=palmer@dabbelt.com \
    --cc=paul.walmsley@sifive.com \
    --cc=puranjay12@gmail.com \
    --cc=samuel.holland@sifive.com \
    --cc=tommy.wu@sifive.com \
    --cc=viccent.chen@sifive.com \
    --cc=yongxuan.wang@sifive.com \
    --cc=zong.li@sifive.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.