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