From: Miklos Szeredi <[email protected]>
To: [email protected], [email protected]
Cc: Pavel Begunkov <[email protected]>,
Linux API <[email protected]>,
[email protected], [email protected]
Subject: strace of io_uring events?
Date: Wed, 15 Jul 2020 13:12:09 +0200 [thread overview]
Message-ID: <CAJfpegu3EwbBFTSJiPhm7eMyTK2MzijLUp1gcboOo3meMF_+Qg@mail.gmail.com> (raw)
Hi,
This thread is to discuss the possibility of stracing requests
submitted through io_uring. I'm not directly involved in io_uring
development, so I'm posting this out of interest in using strace on
processes utilizing io_uring.
io_uring gives the developer a way to bypass the syscall interface,
which results in loss of information when tracing. This is a strace
fragment on "io_uring-cp" from liburing:
io_uring_enter(5, 40, 0, 0, NULL, 8) = 40
io_uring_enter(5, 1, 0, 0, NULL, 8) = 1
io_uring_enter(5, 1, 0, 0, NULL, 8) = 1
...
What really happens are read + write requests. Without that
information the strace output is mostly useless.
This loss of information is not new, e.g. calls through the vdso or
futext fast paths are also invisible to strace. But losing filesystem
I/O calls are a major blow, imo.
What do people think?
From what I can tell, listing the submitted requests on
io_uring_enter() would not be hard. Request completion is
asynchronous, however, and may not require io_uring_enter() syscall.
Am I correct?
Is there some existing tracing infrastructure that strace could use to
get async completion events? Should we be introducing one?
Thanks,
Miklos
next reply other threads:[~2020-07-15 11:12 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-15 11:12 Miklos Szeredi [this message]
2020-07-15 14:35 ` strace of io_uring events? Andy Lutomirski
2020-07-15 17:11 ` Matthew Wilcox
2020-07-15 19:42 ` Pavel Begunkov
2020-07-15 20:09 ` Miklos Szeredi
2020-07-15 20:20 ` Pavel Begunkov
2020-07-15 23:07 ` Kees Cook
2020-07-16 13:14 ` Stefano Garzarella
2020-07-16 15:12 ` Kees Cook
2020-07-17 8:01 ` Stefano Garzarella
2020-07-21 15:27 ` Andy Lutomirski
2020-07-21 15:31 ` Jens Axboe
2020-07-21 17:23 ` Andy Lutomirski
2020-07-21 17:30 ` Jens Axboe
2020-07-21 17:44 ` Andy Lutomirski
2020-07-21 18:39 ` Jens Axboe
2020-07-21 19:44 ` Andy Lutomirski
2020-07-21 19:48 ` Jens Axboe
2020-07-21 19:56 ` Andres Freund
2020-07-21 19:37 ` Andres Freund
2020-07-21 15:58 ` Stefano Garzarella
2020-07-23 10:39 ` Stefan Hajnoczi
2020-07-23 13:37 ` Colin Walters
2020-07-24 7:25 ` Stefano Garzarella
2020-07-16 13:17 ` Aleksa Sarai
2020-07-16 15:19 ` Kees Cook
2020-07-17 8:17 ` Cyril Hrubis
2020-07-16 16:24 ` Andy Lutomirski
2020-07-16 0:12 ` tytso
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=CAJfpegu3EwbBFTSJiPhm7eMyTK2MzijLUp1gcboOo3meMF_+Qg@mail.gmail.com \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
/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