[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 20/23] hyperv: process POST_MESSAGE hypercall
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH 20/23] hyperv: process POST_MESSAGE hypercall |
Date: |
Wed, 14 Jun 2017 16:30:47 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.0 |
On 14/06/2017 16:20, Roman Kagan wrote:
> On Wed, Jun 14, 2017 at 01:19:21PM +0200, Paolo Bonzini wrote:
>> On 06/06/2017 20:19, Roman Kagan wrote:
>>> +typedef struct MsgHandler {
>>> + struct rcu_head rcu;
>>> + QLIST_ENTRY(MsgHandler) le;
>>> + uint32_t conn_id;
>>> + HvMsgHandler handler;
>>> + void *data;
>>> +} MsgHandler;
>>> +
>>> +static QLIST_HEAD(, MsgHandler) msg_handlers;
>>> +static QemuMutex msg_handlers_mutex;
>>
>> Maybe use the same mutex for event and message handlers?
>
> Are there other benefits in it beside saving 40 bytes?
It's generally simpler if one module only uses one mutex, you don't have
to think of the interactions. Since everything is RCU-protected on the
read-side, it should not matter for performance.
Paolo
- Re: [Qemu-devel] [PATCH 13/23] hyperv: qdev-ify SynIC, (continued)
[Qemu-devel] [PATCH 15/23] hyperv: make overlay pages for SynIC, Roman Kagan, 2017/06/06
[Qemu-devel] [PATCH 19/23] hyperv: process SIGNAL_EVENT hypercall, Roman Kagan, 2017/06/06
[Qemu-devel] [PATCH 18/23] hyperv: add synic event flag signaling, Roman Kagan, 2017/06/06
[Qemu-devel] [PATCH 17/23] hyperv: add synic message delivery, Roman Kagan, 2017/06/06
[Qemu-devel] [PATCH 22/23] MAINTAINERS: add myself and eyakovlev@ for hyperv*, Roman Kagan, 2017/06/06
[Qemu-devel] [PATCH 20/23] hyperv: process POST_MESSAGE hypercall, Roman Kagan, 2017/06/06
[Qemu-devel] [PATCH 21/23] hyperv_testdev: add SynIC message and event testmodes, Roman Kagan, 2017/06/06
[Qemu-devel] [PATCH 16/23] hyperv: map overlay pages after updating msrs, Roman Kagan, 2017/06/06
[Qemu-devel] [PATCH 23/23] hyperv: update copyright notices, Roman Kagan, 2017/06/06
Message not available