All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Kiszka <jan.kiszka@siemens.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
	Anthony Liguori <aliguori@us.ibm.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [PATCH 0/5] Spread the use of QEMU threading & locking API
Date: Thu, 05 Apr 2012 13:18:53 +0200	[thread overview]
Message-ID: <4F7D7F9D.5080805@siemens.com> (raw)
In-Reply-To: <4F7D7D0E.4080309@redhat.com>

On 2012-04-05 13:07, Paolo Bonzini wrote:
> Il 05/04/2012 12:55, Jan Kiszka ha scritto:
>>> BTW you _could_ have a QemuEvent primitive based on Windows manual-reset
>>> events. It can be used in some cases as a replacement for condvars,
>>> especially when you have multiple producers and a single consumer (MPSC
>>> queue is perhaps the easiest lock-free data structure).  It can be made
>>> very lightweight on Linux using futexes, and would also support timed
>>> wait easily on Windows.  The API would be more or less like this:
>>>
>>>   void qemu_event_init(QemuEvent *event, bool set);
>>>   void qemu_event_wait(QemuEvent *event);
>>>   void qemu_event_timedwait(QemuEvent *event, int ms);
>>>   void qemu_event_set(QemuEvent *event);
>>>   void qemu_event_reset(QemuEvent *event);
>>
>> Yes, qemu_event_wait/timedwait could be added on top later on when we
>> have a use case in sight. But mapping futexes wouldn't be compatible
>> with eventfd/pipe based signaling.
> 
> Note that the thing above would be separate from EventNotifier, which is
> why I only mentioned as "by the way".
> 
> EventNotifier and anything using eventfd/pipes would _not_ be a
> "QEMU-styled thread synchronization mechanism" simply because you can
> use it with qemu_aio_set_fd_handler.
> 
> That's why I think it should be separate from qemu-threads and stay
> outside the QEMU namespace.

Sorry, but that makes no sense to me. It is an abstraction we defined
for QEMU usage in a way that fits precisely our (current) needs. That's
what we did with tons of other abstractions before, so it fits very well
here IMHO.

Jan

-- 
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux

  reply	other threads:[~2012-04-05 11:19 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-04 15:08 [Qemu-devel] [PATCH 0/5] Spread the use of QEMU threading & locking API Jan Kiszka
2012-04-04 15:08 ` [Qemu-devel] [PATCH 1/5] Introduce qemu_cond_timedwait for POSIX Jan Kiszka
2012-04-04 15:08 ` [Qemu-devel] [PATCH 2/5] Switch POSIX compat AIO to QEMU abstractions Jan Kiszka
2012-04-04 15:08 ` [Qemu-devel] [PATCH 3/5] Use qemu_eventfd for POSIX AIO Jan Kiszka
2012-04-04 15:08 ` [Qemu-devel] [PATCH 4/5] Reorder POSIX compat AIO code Jan Kiszka
2012-04-04 15:08 ` [Qemu-devel] [PATCH 5/5] Switch compatfd to QEMU thread Jan Kiszka
2012-04-04 15:18 ` [Qemu-devel] [PATCH 0/5] Spread the use of QEMU threading & locking API Paolo Bonzini
2012-04-04 15:24   ` Jan Kiszka
2012-04-04 15:29     ` Paolo Bonzini
2012-04-04 15:38       ` Jan Kiszka
2012-04-04 15:43         ` Jan Kiszka
2012-04-04 16:05       ` Jan Kiszka
2012-04-04 16:39         ` Paolo Bonzini
2012-04-04 16:55           ` Jan Kiszka
2012-04-04 17:19             ` Jan Kiszka
2012-04-05  7:51               ` Paolo Bonzini
2012-04-05 10:55                 ` Jan Kiszka
2012-04-05 11:07                   ` Paolo Bonzini
2012-04-05 11:18                     ` Jan Kiszka [this message]
2012-04-05 11:29                       ` Paolo Bonzini
2012-04-05 12:04                         ` Jan Kiszka
2012-04-05 12:48                           ` Paolo Bonzini
     [not found]                             ` <4F7D977A.1020905@siemens.com>
2012-04-05 13:40                               ` Paolo Bonzini
2012-04-05 14:01                                 ` Jan Kiszka
2012-04-05 14:11                                   ` Paolo Bonzini

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=4F7D7F9D.5080805@siemens.com \
    --to=jan.kiszka@siemens.com \
    --cc=aliguori@us.ibm.com \
    --cc=kwolf@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.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.