From: Nam Cao <namcao@linutronix.de>
To: Gabriele Monaco <gmonaco@redhat.com>
Cc: linux-kernel@vger.kernel.org,
Steven Rostedt <rostedt@goodmis.org>,
Jonathan Corbet <corbet@lwn.net>,
Masami Hiramatsu <mhiramat@kernel.org>,
linux-trace-kernel@vger.kernel.org, linux-doc@vger.kernel.org,
Ingo Molnar <mingo@redhat.com>,
Peter Zijlstra <peterz@infradead.org>,
Tomas Glozar <tglozar@redhat.com>, Juri Lelli <jlelli@redhat.com>
Subject: Re: [RFC PATCH v2 12/12] rv: Add opid per-cpu monitor
Date: Tue, 27 May 2025 15:37:12 +0200 [thread overview]
Message-ID: <20250527133712.CFW5AcNE@linutronix.de> (raw)
In-Reply-To: <20250514084314.57976-13-gmonaco@redhat.com>
On Wed, May 14, 2025 at 10:43:14AM +0200, Gabriele Monaco wrote:
> Add a per-cpu monitor as part of the sched model:
> * opid: operations with preemption and irq disabled
> Monitor to ensure wakeup and need_resched occur with irq and
> preemption disabled or in irq handlers.
This monitor reports some warnings:
$ perf record -e rv:error_opid --call-graph dwarf -a -- ./stress-epoll
(stress-epoll program from
https://github.com/rouming/test-tools/blob/master/stress-epoll.c)
$ perf script
stress-epoll 315 [003] 527.674724: rv:error_opid: event preempt_disable not expected in the state preempt_disabled
ffffffff9fdfb34f da_event_opid+0x10f ([kernel.kallsyms])
ffffffff9fdfb34f da_event_opid+0x10f ([kernel.kallsyms])
ffffffff9fdfba0d handle_preempt_disable+0x3d ([kernel.kallsyms])
ffffffff9fdd32d0 __traceiter_preempt_disable+0x30 ([kernel.kallsyms])
ffffffff9fdd38fe trace_preempt_off+0x4e ([kernel.kallsyms])
ffffffff9fee6c1c vfs_write+0x12c ([kernel.kallsyms])
ffffffff9fee7128 ksys_write+0x68 ([kernel.kallsyms])
ffffffffa0bdbd92 do_syscall_64+0xb2 ([kernel.kallsyms])
ffffffff9fa00130 entry_SYSCALL_64_after_hwframe+0x77 ([kernel.kallsyms])
f833f __GI___libc_write+0x4f (/usr/lib/x86_64-linux-gnu/libc.so.6)
f833f __GI___libc_write+0x4f (/usr/lib/x86_64-linux-gnu/libc.so.6)
1937 thread_work+0x47 (/root/test-tools/stress-epoll)
891f4 start_thread+0x304 (/usr/lib/x86_64-linux-gnu/libc.so.6)
10989b clone3+0x2b (/usr/lib/x86_64-linux-gnu/libc.so.6)
stress-epoll 318 [002] 527.674759: rv:error_opid: event preempt_disable not expected in the state disabled
ffffffff9fdfb34f da_event_opid+0x10f ([kernel.kallsyms])
ffffffff9fdfb34f da_event_opid+0x10f ([kernel.kallsyms])
ffffffff9fdfba0d handle_preempt_disable+0x3d ([kernel.kallsyms])
ffffffff9fdd32d0 __traceiter_preempt_disable+0x30 ([kernel.kallsyms])
ffffffff9fdd38fe trace_preempt_off+0x4e ([kernel.kallsyms])
ffffffffa0bec1aa _raw_spin_lock_irq+0x1a ([kernel.kallsyms])
ffffffff9ff4fe73 eventfd_write+0x63 ([kernel.kallsyms])
ffffffff9fee6be5 vfs_write+0xf5 ([kernel.kallsyms])
ffffffff9fee7128 ksys_write+0x68 ([kernel.kallsyms])
ffffffffa0bdbd92 do_syscall_64+0xb2 ([kernel.kallsyms])
ffffffff9fa00130 entry_SYSCALL_64_after_hwframe+0x77 ([kernel.kallsyms])
f833f __GI___libc_write+0x4f (/usr/lib/x86_64-linux-gnu/libc.so.6)
f833f __GI___libc_write+0x4f (/usr/lib/x86_64-linux-gnu/libc.so.6)
1937 thread_work+0x47 (/root/test-tools/stress-epoll)
891f4 start_thread+0x304 (/usr/lib/x86_64-linux-gnu/libc.so.6)
10989b clone3+0x2b (/usr/lib/x86_64-linux-gnu/libc.so.6)
I'm not sure what I'm looking at here. Do you think these are kernel bugs,
or the monitor is missing some corner cases?
Best regards,
Nam
next prev parent reply other threads:[~2025-05-27 13:37 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20250514084314.57976-1-gmonaco@redhat.com>
2025-05-14 8:43 ` [RFC PATCH v2 07/12] rv: Adapt the sco monitor to the new set_state Gabriele Monaco
2025-05-19 8:42 ` Nam Cao
2025-05-19 9:04 ` Gabriele Monaco
2025-05-14 8:43 ` [RFC PATCH v2 08/12] rv: Extend and adapt snroc model Gabriele Monaco
2025-05-14 8:43 ` [RFC PATCH v2 09/12] rv: Replace tss monitor with more complete sts Gabriele Monaco
2025-06-24 7:36 ` Nam Cao
2025-06-24 14:44 ` Gabriele Monaco
2025-06-24 15:50 ` Nam Cao
2025-06-24 19:31 ` Steven Rostedt
2025-06-27 15:02 ` Nam Cao
2025-05-14 8:43 ` [RFC PATCH v2 11/12] rv: Add nrp and sssw per-task monitors Gabriele Monaco
2025-05-14 8:43 ` [RFC PATCH v2 12/12] rv: Add opid per-cpu monitor Gabriele Monaco
2025-05-27 13:37 ` Nam Cao [this message]
2025-05-27 14:35 ` Gabriele Monaco
2025-05-27 14:50 ` Nam Cao
2025-05-28 11:27 ` Gabriele Monaco
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=20250527133712.CFW5AcNE@linutronix.de \
--to=namcao@linutronix.de \
--cc=corbet@lwn.net \
--cc=gmonaco@redhat.com \
--cc=jlelli@redhat.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-trace-kernel@vger.kernel.org \
--cc=mhiramat@kernel.org \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=tglozar@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).