On 2011-07-19 21:28, Sasha Levin wrote: > On Tue, Jul 19, 2011 at 8:23 PM, Jan Kiszka <jan.kiszka@xxxxxxxxxxx> wrote: >> On 2011-07-19 19:17, Avi Kivity wrote: >>> On 07/19/2011 08:14 PM, Jan Kiszka wrote: >>>> >>>> Another improvement - unfortunately less transparent for user space - >>>> would be to overcome the single ring buffer that forces us to hold a >>>> central lock in user space while processing the entries. We rather need >>>> per-device rings. While waiting for coalesced VGA MMIO being processed, >>>> way too many kittens are killed. >>>> >>>> I have this on our agenda, but I wouldn't be disappointed as well if >>>> someone else is faster. >>> >>> The socket mmio would have accomplished this as well. > > It's possible to process the coalesced mmio ring without waiting for > an exit, no? Is the performance that bad? You do not necessarily have to wait for an exit, but you obviously have to synchronize all readers, including vcpus issuing some serializing access. By the time you have >1 and VGA or other heavy users are among them, the rest suffers from increased latencies (you easily get beyond hundreds of ms if graphic is involved). That might be ok for ordinary workload, but it's unacceptable for real-time guests. > > I would have thought it's reasonable after seeing how well > virtio-blk/virtio-net behave. > >> >> I haven't followed the outcome in all details - is that approach dead >> due to its complexity? > > The ability to allow reverse direction in the socket ('read' support > instead of just write) is making it a bit complex. Hopefully it'll be > ready soon. Great, will have an eye on it and take care of the QEMU integration - unless you would like to do that as well... :) Jan
Attachment:
signature.asc
Description: OpenPGP digital signature