From: bugzilla-daemon@bugzilla.kernel.org
To: kvm@vger.kernel.org
Subject: [Bug 199727] CPU freezes in KVM guests during high IO load on host
Date: Sun, 22 Aug 2021 12:11:30 +0000 [thread overview]
Message-ID: <bug-199727-28872-0XofQ63Wzh@https.bugzilla.kernel.org/> (raw)
In-Reply-To: <bug-199727-28872@https.bugzilla.kernel.org/>
https://bugzilla.kernel.org/show_bug.cgi?id=199727
--- Comment #4 from Roland Kletzing (devzero@web.de) ---
http://blog.vmsplice.net/2015/08/asynchronous-file-io-on-linux-plus-ca.html
"However, the io_submit(2) system call remains a treacherous ally in the quest
for asynchronous file I/O. I don't think much has changed since 2009 in making
Linux AIO the best asynchronous file I/O mechanism.
The main problem is that io_submit(2) waits for I/O in some cases. It can
block! This defeats the purpose of asynchronous file I/O because the caller is
stuck until the system call completes. If called from a program's event loop,
the program becomes unresponsive until the system call returns. But even if
io_submit(2) is invoked from a dedicated thread where blocking doesn't matter,
latency is introduced to any further I/O requests submitted in the same
io_submit(2) call.
Sources of blocking in io_submit(2) depend on the file system and block devices
being used. There are many different cases but in general they occur because
file I/O code paths contain synchronous I/O (for metadata I/O or page cache
write-out) as well as locks/waiting (for serializing operations). This is why
the io_submit(2) system call can be held up while submitting a request.
This means io_submit(2) works best on fully-allocated files, volumes, or block
devices. Anything else is likely to result in blocking behavior and cause poor
performance."
--
You may reply to this email to add a comment.
You are receiving this mail because:
You are watching the assignee of the bug.
next prev parent reply other threads:[~2021-08-22 12:11 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <bug-199727-28872@https.bugzilla.kernel.org/>
2021-08-20 17:25 ` [Bug 199727] CPU freezes in KVM guests during high IO load on host bugzilla-daemon
2021-08-21 8:53 ` bugzilla-daemon
2021-08-22 12:11 ` bugzilla-daemon [this message]
2021-08-29 14:58 ` bugzilla-daemon
2022-01-13 12:09 ` bugzilla-daemon
2022-02-10 13:22 ` bugzilla-daemon
2022-02-12 0:13 ` bugzilla-daemon
2022-02-12 10:26 ` bugzilla-daemon
2022-02-24 18:58 ` bugzilla-daemon
2022-02-25 9:49 ` bugzilla-daemon
2022-03-02 13:33 ` bugzilla-daemon
2022-03-07 19:01 ` bugzilla-daemon
2022-03-08 6:20 ` bugzilla-daemon
2022-03-08 8:01 ` bugzilla-daemon
2022-03-08 8:26 ` bugzilla-daemon
2022-03-26 15:17 ` bugzilla-daemon
2022-04-06 23:25 ` bugzilla-daemon
2022-04-06 23:52 ` bugzilla-daemon
2022-11-29 10:03 ` bugzilla-daemon
2024-02-01 13:15 ` bugzilla-daemon
2024-02-01 13:25 ` bugzilla-daemon
2024-02-01 13:46 ` bugzilla-daemon
2024-02-01 13:51 ` bugzilla-daemon
2024-02-01 19:56 ` bugzilla-daemon
2024-08-25 7:29 ` bugzilla-daemon
2024-08-25 7:29 ` bugzilla-daemon
2024-08-25 7:29 ` bugzilla-daemon
2025-05-09 7:10 ` bugzilla-daemon
2025-05-09 8:48 ` bugzilla-daemon
2025-05-09 9:23 ` bugzilla-daemon
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=bug-199727-28872-0XofQ63Wzh@https.bugzilla.kernel.org/ \
--to=bugzilla-daemon@bugzilla.kernel.org \
--cc=kvm@vger.kernel.org \
/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).