[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251028085303.ut6C2XgR@linutronix.de>
Date: Tue, 28 Oct 2025 09:53:03 +0100
From: Sebastian Andrzej Siewior <bigeasy@...utronix.de>
To: Thomas Gleixner <tglx@...utronix.de>
Cc: LKML <linux-kernel@...r.kernel.org>,
Peter Zilstra <peterz@...radead.org>,
Mathieu Desnoyers <mathieu.desnoyers@...icios.com>,
"Paul E. McKenney" <paulmck@...nel.org>,
Boqun Feng <boqun.feng@...il.com>, Jonathan Corbet <corbet@....net>,
Prakash Sangappa <prakash.sangappa@...cle.com>,
Madadi Vineeth Reddy <vineethr@...ux.ibm.com>,
K Prateek Nayak <kprateek.nayak@....com>,
Steven Rostedt <rostedt@...dmis.org>, Arnd Bergmann <arnd@...db.de>,
linux-arch@...r.kernel.org
Subject: Re: [patch V2 00/12] rseq: Implement time slice extension mechanism
On 2025-10-27 19:48:56 [+0100], Thomas Gleixner wrote:
>
> Tracing of the syscall happens _after_ syscall_trace_enter() invoked
> rseq_syscall_enter_work() which canceled the timer and set
> NEED_RESCHED. That immediately rescheduled _after_ the preempt enable:
>
> syscall()
> do_syscall_64()
> syscall_enter_from_user_mode() {
> syscall_enter_from_user_mode_work()
> syscall_trace_enter()
> rseq_syscall_enter_work()
> preempt_disable()
> hrtimer_try_to_cancel()
> remove_hrtimer() <- tracepoint
> set_need_resched()
> preempt_enable()
> schedule()
> ...
> trace_sys_enter() <- tracepoint
>
> Even if it would not reschedule immediately the ordering would be
> reverse.
I know that know after doing the tracing. But having only the sched
events looked like the slice gets granted and usecs later scheduling
happens. Adding interrupts and syscalls continued pointing to the wrong
direction.
Maybe the lack of events here is okay if you know what you do and what
to expect in terms of available trace events.
In that spirit, I did test it and didn't find anything wrong with it ;)
> Thanks,
>
> tglx
Sebastian
Powered by blists - more mailing lists