From: Steven Rostedt <rostedt@goodmis.org>
To: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: "Dorau, Lukasz" <lukasz.dorau@intel.com>,
Ananth N Mavinakayanahalli <ananth@linux.vnet.ibm.com>,
"Keshavamurthy, Anil S" <anil.s.keshavamurthy@intel.com>,
"David S. Miller" <davem@davemloft.net>,
Masami Hiramatsu <mhiramat@kernel.org>,
linux-trace-users@vger.kernel.org, "Slusarz,
Marcin" <marcin.slusarz@intel.com>,
"Jelinek, Sarah" <sarah.jelinek@intel.com>,
"Chernookyi, Vitalii" <vitalii.chernookyi@intel.com>,
"Buella, Gabor" <gabor.buella@intel.com>
Subject: Re: Why return probes of some syscalls sometimes are not called?
Date: Thu, 9 Mar 2017 09:57:29 -0500 [thread overview]
Message-ID: <20170309095729.5467078c@gandalf.local.home> (raw)
In-Reply-To: <20170309094455.53c8026c@gandalf.local.home>
On Thu, 9 Mar 2017 09:44:55 -0500
Steven Rostedt <rostedt@goodmis.org> wrote:
> On Thu, 9 Mar 2017 13:58:29 +0000 (UTC)
> Mathieu Desnoyers <mathieu.desnoyers@efficios.com> wrote:
>
> > ----- On Mar 9, 2017, at 8:44 AM, Dorau, Lukasz lukasz.dorau@intel.com wrote:
> >
> > > Hi,
> > >
> > > Could someone explain me why return probes of some syscalls (for example: futex,
> > > poll, epoll_wait) sometimes are not called?
> > >
> > > It can be reproduced using the following bash script:
> > > https://gist.github.com/ldorau/c439d9ec7635409a5016c42e3a9121ec
> > >
> > > Here are results gathered from 60 seconds test run on kernel 4.9.12 (Fedora 24):
> > >
> > > futex: p 56904 r 5489 (90% did not return (51415))
> > > poll: p 43466 r 7703 (82% did not return (35763))
> > > epoll_wait: p 73366 r 23551 (67% did not return (49815))
> >
> > Most likely scenario: those processes are still blocked on those
> > system calls when your tracing ends.
>
> This is very common but those numbers are very high. I doubt there's 51
> thousand threads blocked on a futex when tracing ended.
>
> >
> > AFAIU, another possible (less frequent) scenario: a process gets
> > killed with SIGKILL while blocked on the signal.
> >
>
> This could be.
>
> > >
> > > Results (60 sec):
> > > futex: p 56904 r 5489 (90% did not return (51415))
> > > poll: p 43466 r 7703 (82% did not return (35763))
> > > epoll_wait: p 73366 r 23551 (67% did not return (49815))
> > > select: p 13355 r 13351 (0% did not return (4))
>
> All these are common system calls that tasks simply sleep on. But it
> would take a nasty kill to have them not return back to the program to
> clean up nicely. Another possibility is that these actually have another
> way out from the kernel that isn't caught by tracing. I'll take a look.
>
BTW, what happens if you change your script to use the syscall
tracepoints instead? As syscalls have an entry and exit tracepoint. Do
the results change?
-- Steve
next prev parent reply other threads:[~2017-03-09 14:58 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-09 13:44 Why return probes of some syscalls sometimes are not called? Dorau, Lukasz
2017-03-09 13:58 ` Mathieu Desnoyers
2017-03-09 14:44 ` Steven Rostedt
2017-03-09 14:57 ` Steven Rostedt [this message]
[not found] ` <1231722663.1343.1489071698914.JavaMail.zimbra@efficios.com>
2017-03-09 15:20 ` Steven Rostedt
[not found] ` <D9FFE20C522965449E182ACE73889AEB486818F2@irsmsx105.ger.corp.intel.com>
2017-03-09 15:38 ` Steven Rostedt
2017-03-09 17:00 ` Masami Hiramatsu
2017-03-09 18:19 ` Chernookyi, Vitalii
2017-03-10 10:51 ` Masami Hiramatsu
2017-03-13 9:09 ` Dorau, Lukasz
2017-03-16 10:01 ` 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=20170309095729.5467078c@gandalf.local.home \
--to=rostedt@goodmis.org \
--cc=ananth@linux.vnet.ibm.com \
--cc=anil.s.keshavamurthy@intel.com \
--cc=davem@davemloft.net \
--cc=gabor.buella@intel.com \
--cc=linux-trace-users@vger.kernel.org \
--cc=lukasz.dorau@intel.com \
--cc=marcin.slusarz@intel.com \
--cc=mathieu.desnoyers@efficios.com \
--cc=mhiramat@kernel.org \
--cc=sarah.jelinek@intel.com \
--cc=vitalii.chernookyi@intel.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).