Re: [PATCH] MMIO: Make coalesced mmio use a device per zone

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux