All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 0/5] iothread: create gcontext unconditionally
@ 2019-03-06 11:55 Peter Xu
  2019-03-06 11:55 ` [Qemu-devel] [PATCH v2 1/5] iothread: replace init_done_cond with a semaphore Peter Xu
                   ` (5 more replies)
  0 siblings, 6 replies; 11+ messages in thread
From: Peter Xu @ 2019-03-06 11:55 UTC (permalink / raw)
  To: qemu-devel
  Cc: Marc-André Lureau, Eric Blake, Stefan Hajnoczi, peterx,
	Paolo Bonzini

v2:
- add comment in patch 4
- add another patch to comment why we need explicit aio_poll() in
  iothread_run loop

When I first read the iothread code, the gcontext confused me for
quite a while.  Meanwhile, I've been tackling with some races due to
this complexity as well.  How much we'll pay for creating the gcontext
unconditionally?  Do we really need this flexibitily (or is it really
a flexibility after all)?  I don't see much gain of existing code, but
I might be wrong.  Anyway, I wrote this patchset to see how the list
would think about it.

This series directly originates from previous discussion with
Marc-Andre where there's a slightly hacky way to try to acquire the
gcontext:

https://lists.gnu.org/archive/html/qemu-devel/2019-02/msg05460.html

Now with this series logically above patch is not needed any more.
Please read patch 4 for more information.

And if this patchset can survive... how about running gcontext
directly in iothread_run()?  I believe there could be a bit more
things to clean but I'll see.

Make check passes for me.

Comments welcomed.  Thanks,

Peter Xu (5):
  iothread: replace init_done_cond with a semaphore
  iothread: create the gcontext unconditionally
  iothread: create main loop unconditionally
  iothread: push gcontext earlier in the thread_fn
  iothread: document about why we need explicit aio_poll()

 include/sysemu/iothread.h |  5 +--
 iothread.c                | 91 +++++++++++++++++++--------------------
 2 files changed, 46 insertions(+), 50 deletions(-)

-- 
2.17.1

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2019-03-08 10:22 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-06 11:55 [Qemu-devel] [PATCH v2 0/5] iothread: create gcontext unconditionally Peter Xu
2019-03-06 11:55 ` [Qemu-devel] [PATCH v2 1/5] iothread: replace init_done_cond with a semaphore Peter Xu
2019-03-07  3:09   ` Peter Xu
2019-03-06 11:55 ` [Qemu-devel] [PATCH v2 2/5] iothread: create the gcontext unconditionally Peter Xu
2019-03-06 11:55 ` [Qemu-devel] [PATCH v2 3/5] iothread: create main loop unconditionally Peter Xu
2019-03-06 11:55 ` [Qemu-devel] [PATCH v2 4/5] iothread: push gcontext earlier in the thread_fn Peter Xu
2019-03-07 14:40   ` Stefan Hajnoczi
2019-03-08  3:05     ` Peter Xu
2019-03-06 11:55 ` [Qemu-devel] [PATCH v2 5/5] iothread: document about why we need explicit aio_poll() Peter Xu
2019-03-06 12:59   ` Marc-André Lureau
2019-03-08 10:21 ` [Qemu-devel] [PATCH v2 0/5] iothread: create gcontext unconditionally Stefan Hajnoczi

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.