[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] aio_poll race condition.

From: Remy NOEL
Subject: Re: [Qemu-devel] [PATCH] aio_poll race condition.
Date: Fri, 7 Dec 2018 14:25:20 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.3.1

Indeed, i did not add those for the cover letter (i used the wiki's commit hook though)

Anyway, I sent a V2 after discovering the rcu usage hada significant performance impact.

It was not sent to the New email fo Fam Zheng though. i'll forward it to its new address, thanks.



On 12/7/18 11:09 AM, Philippe Mathieu-Daudé wrote:
Hi Remy,
On 11/16/18 8:02 PM, address@hidden wrote:
From: Remy Noel <address@hidden>

It is possible for an io_poll callback to be concurrently executed along
with an aio_set_fd_handlers. This can cause all sorts of problems, like
a NULL callback or a bad opaque pointer.
We fixes that by using an remove/insert RCU scheme.
You forgot to Cc the relevant maintainers, that's probably why your
series went unnoticed.

 From the wiki:

$ ./scripts/get_maintainer.pl -f include/block/aio.h util/aio-posix.c
util/aio-win32.c util/async.c
Stefan Hajnoczi <address@hidden> (supporter:Block I/O path)
Fam Zheng <address@hidden> (supporter:Block I/O path)
Kevin Wolf <address@hidden> (supporter:Block layer core)
Max Reitz <address@hidden> (supporter:Block layer core)
Stefan Weil <address@hidden> (maintainer:W32, W64)
address@hidden (open list:Block I/O path)
address@hidden (open list:All patches CC here)

Please Cc them in your v2.

(Note Fam has a new email: Fam Zheng <address@hidden>)



Please note that i did not test the win32 version.

Remy Noel (3):
   aio-posix: Fix concurrent aio_poll/set_fd_handler.
   util/aio-posix: Use RCU for handler insertion.
   aio: Do not use list_lock as a sync mechanism for aio_handlers

  include/block/aio.h |   4 +-
  util/aio-posix.c    | 148 ++++++++++++++++++++------------------------
  util/aio-win32.c    |  82 +++++++++---------------
  util/async.c        |   7 ++-
  4 files changed, 103 insertions(+), 138 deletions(-)

reply via email to

[Prev in Thread] Current Thread [Next in Thread]