All of lore.kernel.org
 help / color / mirror / Atom feed
From: Evgenii Shatokhin <e.shatokhin@yadro.com>
To: "Björn Töpel" <bjorn@kernel.org>
Cc: Bill Wendling <morbo@google.com>,
	Justin Stitt <justinstitt@google.com>,
	Nick Desaulniers <ndesaulniers@google.com>,
	Nathan Chancellor <nathan@kernel.org>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Andy Chiu <andybnac@gmail.com>, <linux-kernel@vger.kernel.org>,
	<linux-trace-kernel@vger.kernel.org>,
	<linux-riscv@lists.infradead.org>, <llvm@lists.linux.dev>,
	<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: Re: [PATCH v3 1/7] riscv: ftrace: support fastcc in Clang for WITH_ARGS
Date: Tue, 3 Dec 2024 17:44:25 +0300	[thread overview]
Message-ID: <7e5ce1ce-e30a-46c5-80fb-eb52e59e4dc2@yadro.com> (raw)
In-Reply-To: <87wmghotth.fsf@all.your.base.are.belong.to.us>

Hi,

On 03.12.2024 15:05, Björn Töpel wrote:
> 
> Andy Chiu <andybnac@gmail.com> writes:
> 
>> From: Andy Chiu <andy.chiu@sifive.com>
>>
>> Some caller-saved registers which are not defined as function arguments
>> in the ABI can still be passed as arguments when the kernel is compiled
>> with Clang. As a result, we must save and restore those registers to
>> prevent ftrace from clobbering them.
>>
>> - [1]: https://reviews.llvm.org/D68559
>>
>> Reported-by: Evgenii Shatokhin <e.shatokhin@yadro.com>
>> Closes: https://lore.kernel.org/linux-riscv/7e7c7914-445d-426d-89a0-59a9199c45b1@yadro.com/
>> Acked-by: Nathan Chancellor <nathan@kernel.org>
>> Signed-off-by: Andy Chiu <andy.chiu@sifive.com>
> 
> Fixes tag?

As far as I understand it, Ftrace for RISC-V has had this problem since 
support for FTRACE_WITH_REGS was added. FTRACE_WITH_ARGS inherited it.

So, it should probably be as follows:

Fixes: aea4c671fb98 ("riscv/ftrace: Add DYNAMIC_FTRACE_WITH_REGS support")

It is more of a workaround rather than a fix though, because it is still 
undecided where the problem is, in the kernel or in LLVM/clang. That 
discussion went nowhere, unfortunately, so it is better to use a 
workaround and move on, IMO.

> 
> Reviewed-by: Björn Töpel <bjorn@rivosinc.com>
> 

Regards,
Evgenii


_______________________________________________
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: Evgenii Shatokhin <e.shatokhin@yadro.com>
To: "Björn Töpel" <bjorn@kernel.org>
Cc: Bill Wendling <morbo@google.com>,
	Justin Stitt <justinstitt@google.com>,
	Nick Desaulniers <ndesaulniers@google.com>,
	Nathan Chancellor <nathan@kernel.org>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Andy Chiu <andybnac@gmail.com>, <linux-kernel@vger.kernel.org>,
	<linux-trace-kernel@vger.kernel.org>,
	<linux-riscv@lists.infradead.org>, <llvm@lists.linux.dev>,
	<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: Re: [PATCH v3 1/7] riscv: ftrace: support fastcc in Clang for WITH_ARGS
Date: Tue, 3 Dec 2024 17:44:25 +0300	[thread overview]
Message-ID: <7e5ce1ce-e30a-46c5-80fb-eb52e59e4dc2@yadro.com> (raw)
In-Reply-To: <87wmghotth.fsf@all.your.base.are.belong.to.us>

Hi,

On 03.12.2024 15:05, Björn Töpel wrote:
> 
> Andy Chiu <andybnac@gmail.com> writes:
> 
>> From: Andy Chiu <andy.chiu@sifive.com>
>>
>> Some caller-saved registers which are not defined as function arguments
>> in the ABI can still be passed as arguments when the kernel is compiled
>> with Clang. As a result, we must save and restore those registers to
>> prevent ftrace from clobbering them.
>>
>> - [1]: https://reviews.llvm.org/D68559
>>
>> Reported-by: Evgenii Shatokhin <e.shatokhin@yadro.com>
>> Closes: https://lore.kernel.org/linux-riscv/7e7c7914-445d-426d-89a0-59a9199c45b1@yadro.com/
>> Acked-by: Nathan Chancellor <nathan@kernel.org>
>> Signed-off-by: Andy Chiu <andy.chiu@sifive.com>
> 
> Fixes tag?

As far as I understand it, Ftrace for RISC-V has had this problem since 
support for FTRACE_WITH_REGS was added. FTRACE_WITH_ARGS inherited it.

So, it should probably be as follows:

Fixes: aea4c671fb98 ("riscv/ftrace: Add DYNAMIC_FTRACE_WITH_REGS support")

It is more of a workaround rather than a fix though, because it is still 
undecided where the problem is, in the kernel or in LLVM/clang. That 
discussion went nowhere, unfortunately, so it is better to use a 
workaround and move on, IMO.

> 
> Reviewed-by: Björn Töpel <bjorn@rivosinc.com>
> 

Regards,
Evgenii


  reply	other threads:[~2024-12-03 14:44 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 [this message]
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
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=7e5ce1ce-e30a-46c5-80fb-eb52e59e4dc2@yadro.com \
    --to=e.shatokhin@yadro.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=justinstitt@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=linux-trace-kernel@vger.kernel.org \
    --cc=llvm@lists.linux.dev \
    --cc=mark.rutland@arm.com \
    --cc=mhiramat@kernel.org \
    --cc=morbo@google.com \
    --cc=nathan@kernel.org \
    --cc=ndesaulniers@google.com \
    --cc=nick.hu@sifive.com \
    --cc=nylon.chen@sifive.com \
    --cc=palmer@dabbelt.com \
    --cc=paul.walmsley@sifive.com \
    --cc=puranjay12@gmail.com \
    --cc=rostedt@goodmis.org \
    --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.