On Tue, Jul 19, 2011 at 8:23 PM, Jan Kiszka <[email protected]> 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?

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.

>
>> One thing to
>> beware of is to preserve correctness:
>>
>> 1) write to 0xa0000 (queued)
>> 2) write to 0xa0002 (queued)
>> 3) remap 0xa0000 region (executed)
>
> Obviously, there must be 3a) here: drain all affected queues.
>
>> 4) write to 0xa000 (queued)
>> 5) drain queue
>>
>> writes 1 and 2 go to the wrong place.
>>
>
> Jan
>
> --
> Siemens AG, Corporate Technology, CT T DE IT 1
> Corporate Competence Center Embedded Linux
>
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to