[PATCH 0/2] aio-posix: fix fdmon-io_uring memory leak

Stefan Hajnoczi posted 2 patches 5 years, 9 months ago
Test docker-mingw@fedora passed
Test checkpatch passed
Test asan passed
Test docker-quick@centos7 passed
Test FreeBSD passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20200511183630.279750-1-stefanha@redhat.com
include/block/aio.h   |  3 +++
util/aio-posix.c      | 13 +++++++++++++
util/aio-win32.c      |  4 ++++
util/async.c          |  1 +
util/fdmon-io_uring.c | 13 ++++++++++---
5 files changed, 31 insertions(+), 3 deletions(-)
[PATCH 0/2] aio-posix: fix fdmon-io_uring memory leak
Posted by Stefan Hajnoczi 5 years, 9 months ago
This bug was introduced in QEMU 5.0 and causes guests to slow down because
AioHandlers are not freed when the fdmon-io_uring file descriptor monitoring
implementation is used by the main loop thread's glib event loop. This issue
does not apply to IOThread usage of fdmon-io_uring.

In practice few distros build with io_uring support enabled at the moment, so
the number of affected users is likely to be small. The fix is still suitable
for a stable release though.

https://bugs.launchpad.net/qemu/+bug/1877716
https://bugs.launchpad.net/qemu/+bug/1873032

Stefan Hajnoczi (2):
  aio-posix: don't duplicate fd handler deletion in
    fdmon_io_uring_destroy()
  aio-posix: disable fdmon-io_uring when GSource is used

 include/block/aio.h   |  3 +++
 util/aio-posix.c      | 13 +++++++++++++
 util/aio-win32.c      |  4 ++++
 util/async.c          |  1 +
 util/fdmon-io_uring.c | 13 ++++++++++---
 5 files changed, 31 insertions(+), 3 deletions(-)

-- 
2.25.3

Re: [PATCH 0/2] aio-posix: fix fdmon-io_uring memory leak
Posted by Stefan Hajnoczi 5 years, 8 months ago
On Mon, May 11, 2020 at 07:36:28PM +0100, Stefan Hajnoczi wrote:
> This bug was introduced in QEMU 5.0 and causes guests to slow down because
> AioHandlers are not freed when the fdmon-io_uring file descriptor monitoring
> implementation is used by the main loop thread's glib event loop. This issue
> does not apply to IOThread usage of fdmon-io_uring.
> 
> In practice few distros build with io_uring support enabled at the moment, so
> the number of affected users is likely to be small. The fix is still suitable
> for a stable release though.
> 
> https://bugs.launchpad.net/qemu/+bug/1877716
> https://bugs.launchpad.net/qemu/+bug/1873032
> 
> Stefan Hajnoczi (2):
>   aio-posix: don't duplicate fd handler deletion in
>     fdmon_io_uring_destroy()
>   aio-posix: disable fdmon-io_uring when GSource is used
> 
>  include/block/aio.h   |  3 +++
>  util/aio-posix.c      | 13 +++++++++++++
>  util/aio-win32.c      |  4 ++++
>  util/async.c          |  1 +
>  util/fdmon-io_uring.c | 13 ++++++++++---
>  5 files changed, 31 insertions(+), 3 deletions(-)

This has been merged into qemu.git/master.

Stefan