[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC] create a single workqueue for each vm to update v
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [RFC] create a single workqueue for each vm to update vm irq routing table |
Date: |
Tue, 26 Nov 2013 17:42:32 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130923 Thunderbird/17.0.9 |
Il 26/11/2013 17:21, Avi Kivity ha scritto:
>>> It's indeed safe, but I think there's a nice win to be had if we
>>> drop the assumption.
>> I'm not arguing with that, but a minor commoent below:
>>
>>>> (BTW, PCI memory writes are posted, but configuration writes are not).
>>> MSIs are configured via PCI memory writes.
>>>
>>> By itself, that doesn't buy us anything, since the guest could flush
>>> the write via a read. But I think the fact that the interrupt
>>> messages themselves are posted proves that it is safe.
>> FYI, PCI read flushes the interrupt itself in, too.
>
> I guess that kills the optimization then. Maybe you can do qrcu,
> whatever that is.
It's "srcu" (a separate SRCU instance specific to the irq routing
table), which I managed to misspell twice.
Actually, it turns out that qrcu actually exists
(http://lwn.net/Articles/223752/) and has extremely fast grace periods,
but read_lock/read_unlock are also more expensive. So it was probably
some kind of Freudian slip.
Paolo
- Re: [Qemu-devel] [RFC] create a single workqueue for each vm to update vm irq routing table, (continued)
- Re: [Qemu-devel] [RFC] create a single workqueue for each vm to update vm irq routing table, Avi Kivity, 2013/11/26
- Re: [Qemu-devel] [RFC] create a single workqueue for each vm to update vm irq routing table, Gleb Natapov, 2013/11/26
- Re: [Qemu-devel] [RFC] create a single workqueue for each vm to update vm irq routing table, Paolo Bonzini, 2013/11/26
- Re: [Qemu-devel] [RFC] create a single workqueue for each vm to update vm irq routing table, Avi Kivity, 2013/11/26
- Re: [Qemu-devel] [RFC] create a single workqueue for each vm to update vm irq routing table, Paolo Bonzini, 2013/11/26
- Re: [Qemu-devel] [RFC] create a single workqueue for each vm to update vm irq routing table, Avi Kivity, 2013/11/26
- Re: [Qemu-devel] [RFC] create a single workqueue for each vm to update vm irq routing table, Paolo Bonzini, 2013/11/26
- Re: [Qemu-devel] [RFC] create a single workqueue for each vm to update vm irq routing table, Avi Kivity, 2013/11/26
- Re: [Qemu-devel] [RFC] create a single workqueue for each vm to update vm irq routing table, Michael S. Tsirkin, 2013/11/26
- Re: [Qemu-devel] [RFC] create a single workqueue for each vm to update vm irq routing table, Avi Kivity, 2013/11/26
- Re: [Qemu-devel] [RFC] create a single workqueue for each vm to update vm irq routing table,
Paolo Bonzini <=
- Re: [Qemu-devel] [RFC] create a single workqueue for each vm to update vm irq routing table, Michael S. Tsirkin, 2013/11/26
- Re: [Qemu-devel] [RFC] create a single workqueue for each vm to update vm irq routing table, Gleb Natapov, 2013/11/26
- Re: [Qemu-devel] [RFC] create a single workqueue for each vm to update vm irq routing table, Avi Kivity, 2013/11/26
- Re: [Qemu-devel] [RFC] create a single workqueue for each vm to update vm irq routing table, Gleb Natapov, 2013/11/26
- Re: [Qemu-devel] [RFC] create a single workqueue for each vm to update vm irq routing table, Paolo Bonzini, 2013/11/26
- Re: [Qemu-devel] [RFC] create a single workqueue for each vm to update vm irq routing table, Avi Kivity, 2013/11/26
- Re: [Qemu-devel] [RFC] create a single workqueue for each vm to update vm irq routing table, Gleb Natapov, 2013/11/26
- Re: [Qemu-devel] [RFC] create a single workqueue for each vm to update vm irq routing table, Zhanghaoyu (A), 2013/11/28
- Re: [Qemu-devel] [RFC] create a single workqueue for each vm to update vm irq routing table, Paolo Bonzini, 2013/11/28
- Re: [Qemu-devel] [RFC] create a single workqueue for each vm to update vm irq routing table, Gleb Natapov, 2013/11/28