From: Jiri Olsa <jolsa@redhat.com>
To: Andrii Nakryiko <andrii.nakryiko@gmail.com>
Cc: Masami Hiramatsu <mhiramat@kernel.org>,
Alexei Starovoitov <ast@kernel.org>,
Daniel Borkmann <daniel@iogearbox.net>,
Andrii Nakryiko <andrii@kernel.org>,
Networking <netdev@vger.kernel.org>, bpf <bpf@vger.kernel.org>,
lkml <linux-kernel@vger.kernel.org>,
Martin KaFai Lau <kafai@fb.com>, Song Liu <songliubraving@fb.com>,
Yonghong Song <yhs@fb.com>,
John Fastabend <john.fastabend@gmail.com>,
KP Singh <kpsingh@chromium.org>,
Steven Rostedt <rostedt@goodmis.org>,
"Naveen N . Rao" <naveen.n.rao@linux.ibm.com>,
Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>,
"David S . Miller" <davem@davemloft.net>
Subject: Re: [PATCH v7 00/10] fprobe: Introduce fprobe function entry/exit probe
Date: Wed, 2 Feb 2022 10:03:07 +0100 [thread overview]
Message-ID: <YfpIy+/Pqlw5EcZk@krava> (raw)
In-Reply-To: <CAEf4BzYRJuTLJc=Z9P-p3BtuKu_74MtA2MyrY_ceBxofuKuzHQ@mail.gmail.com>
On Tue, Feb 01, 2022 at 04:09:05PM -0800, Andrii Nakryiko wrote:
> On Tue, Feb 1, 2022 at 4:02 PM Jiri Olsa <jolsa@redhat.com> wrote:
> >
> > On Mon, Jan 31, 2022 at 02:00:24PM +0900, Masami Hiramatsu wrote:
> > > Hi,
> > >
> > > Here is the 7th version of fprobe. This version fixes unregister_fprobe()
> > > ensures that exit_handler is not called after returning from the
> > > unregister_fprobe(), and fixes some comments and documents.
> > >
> > > The previous version is here[1];
> > >
> > > [1] https://lore.kernel.org/all/164338031590.2429999.6203979005944292576.stgit@devnote2/T/#u
> > >
> > > This series introduces the fprobe, the function entry/exit probe
> > > with multiple probe point support. This also introduces the rethook
> > > for hooking function return as same as the kretprobe does. This
> > > abstraction will help us to generalize the fgraph tracer,
> > > because we can just switch to it from the rethook in fprobe,
> > > depending on the kernel configuration.
> > >
> > > The patch [1/10] is from Jiri's series[2].
> > >
> > > [2] https://lore.kernel.org/all/20220104080943.113249-1-jolsa@kernel.org/T/#u
> > >
> > > And the patch [9/10] adds the FPROBE_FL_KPROBE_SHARED flag for the case
> > > if user wants to share the same code (or share a same resource) on the
> > > fprobe and the kprobes.
> >
> > hi,
> > it works fine for bpf selftests, but when I use it through bpftrace
> > to attach more probes with:
> >
> > # ./src/bpftrace -e 'kprobe:ksys_* { }'
> > Attaching 27 probes
> >
> > I'm getting stalls like:
> >
> > krava33 login: [ 988.574069] INFO: task bpftrace:4137 blocked for more than 122 seconds.
> > [ 988.577577] Not tainted 5.16.0+ #89
> > [ 988.580173] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
> > [ 988.585538] task:bpftrace state:D stack: 0 pid: 4137 ppid: 4123 flags:0x00004004
> > [ 988.589869] Call Trace:
> > [ 988.591312] <TASK>
> > [ 988.592577] __schedule+0x3a8/0xd30
> > [ 988.594469] ? wait_for_completion+0x84/0x110
> > [ 988.596753] schedule+0x4e/0xc0
> > [ 988.598480] schedule_timeout+0xed/0x130
> > [ 988.600524] ? rcu_read_lock_sched_held+0x12/0x70
> > [ 988.602901] ? lock_release+0x253/0x4a0
> > [ 988.604935] ? lock_acquired+0x1b7/0x410
> > [ 988.607041] ? trace_hardirqs_on+0x1b/0xe0
> > [ 988.609202] wait_for_completion+0xae/0x110
> > [ 988.613762] __wait_rcu_gp+0x127/0x130
> > [ 988.615787] synchronize_rcu_tasks_generic+0x46/0xa0
> > [ 988.618329] ? call_rcu_tasks+0x20/0x20
> > [ 988.620600] ? rcu_tasks_pregp_step+0x10/0x10
> > [ 988.623232] ftrace_shutdown.part.0+0x174/0x210
> > [ 988.625820] unregister_ftrace_function+0x37/0x60
> > [ 988.628480] unregister_fprobe+0x2d/0x50
> > [ 988.630928] bpf_link_free+0x4e/0x70
> > [ 988.633126] bpf_link_release+0x11/0x20
> > [ 988.635249] __fput+0xae/0x270
> > [ 988.637022] task_work_run+0x5c/0xa0
> > [ 988.639016] exit_to_user_mode_prepare+0x251/0x260
> > [ 988.641294] syscall_exit_to_user_mode+0x16/0x50
> > [ 988.646249] do_syscall_64+0x48/0x90
> > [ 988.648218] entry_SYSCALL_64_after_hwframe+0x44/0xae
> > [ 988.650787] RIP: 0033:0x7f9079e95fbb
> > [ 988.652761] RSP: 002b:00007ffd474fa3b0 EFLAGS: 00000293 ORIG_RAX: 0000000000000003
> > [ 988.656718] RAX: 0000000000000000 RBX: 00000000011bf8d0 RCX: 00007f9079e95fbb
> > [ 988.660110] RDX: 0000000000000000 RSI: 00007ffd474fa3b0 RDI: 0000000000000019
> > [ 988.663512] RBP: 00007ffd474faaf0 R08: 0000000000000000 R09: 000000000000001a
> > [ 988.666673] R10: 0000000000000064 R11: 0000000000000293 R12: 0000000000000001
> > [ 988.669770] R13: 00000000004a19a1 R14: 00007f9083428c00 R15: 00000000008c02d8
> > [ 988.672601] </TASK>
> > [ 988.675763] INFO: lockdep is turned off.
> >
> > I have't investigated yet, any idea?
> >
>
> Do you happen to have a CPU count that's not a power of 2? Check if
> you have [0] in your tree, it might be that.
>
> [0] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a773abf72eb0cac008743891068ca6edecc44683
yes, that helped, thanks
jirka
next prev parent reply other threads:[~2022-02-02 9:03 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-31 5:00 [PATCH v7 00/10] fprobe: Introduce fprobe function entry/exit probe Masami Hiramatsu
2022-01-31 5:00 ` [PATCH v7 01/10] ftrace: Add ftrace_set_filter_ips function Masami Hiramatsu
2022-01-31 5:00 ` [PATCH v7 02/10] fprobe: Add ftrace based probe APIs Masami Hiramatsu
2022-01-31 5:01 ` [PATCH v7 03/10] rethook: Add a generic return hook Masami Hiramatsu
2022-01-31 5:01 ` [PATCH v7 04/10] rethook: x86: Add rethook x86 implementation Masami Hiramatsu
2022-01-31 5:01 ` [PATCH v7 05/10] ARM: rethook: Add rethook arm implementation Masami Hiramatsu
2022-01-31 5:01 ` [PATCH v7 06/10] arm64: rethook: Add arm64 rethook implementation Masami Hiramatsu
2022-01-31 5:01 ` [PATCH v7 07/10] fprobe: Add exit_handler support Masami Hiramatsu
2022-01-31 5:01 ` [PATCH v7 08/10] fprobe: Add sample program for fprobe Masami Hiramatsu
2022-01-31 5:02 ` [PATCH v7 09/10] fprobe: Introduce FPROBE_FL_KPROBE_SHARED flag " Masami Hiramatsu
2022-01-31 5:02 ` [PATCH v7 10/10] docs: fprobe: Add fprobe description to ftrace-use.rst Masami Hiramatsu
2022-01-31 9:36 ` [PATCH v7 00/10] fprobe: Introduce fprobe function entry/exit probe Masami Hiramatsu
2022-01-31 11:45 ` Jiri Olsa
2022-02-02 0:02 ` Jiri Olsa
2022-02-02 0:09 ` Andrii Nakryiko
2022-02-02 9:03 ` Jiri Olsa [this message]
2022-02-02 7:29 ` Masami Hiramatsu
-- strict thread matches above, loose matches on Subject: below --
2022-01-31 4:59 Masami Hiramatsu
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=YfpIy+/Pqlw5EcZk@krava \
--to=jolsa@redhat.com \
--cc=andrii.nakryiko@gmail.com \
--cc=andrii@kernel.org \
--cc=anil.s.keshavamurthy@intel.com \
--cc=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=davem@davemloft.net \
--cc=john.fastabend@gmail.com \
--cc=kafai@fb.com \
--cc=kpsingh@chromium.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mhiramat@kernel.org \
--cc=naveen.n.rao@linux.ibm.com \
--cc=netdev@vger.kernel.org \
--cc=rostedt@goodmis.org \
--cc=songliubraving@fb.com \
--cc=yhs@fb.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.