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 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.