qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [RFC] Memory API


From: Anthony Liguori
Subject: Re: [Qemu-devel] [RFC] Memory API
Date: Thu, 19 May 2011 08:35:24 -0500
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110424 Lightning/1.0b2 Thunderbird/3.1.10

On 05/19/2011 08:26 AM, Avi Kivity wrote:
On 05/19/2011 04:23 PM, Anthony Liguori wrote:
Actually, things are a bit more complicated: This layer has to properly
adopt the coalescing properties of underlying regions or we cause
performance regressions to VGA emulation. That means it has to register
dispatching slots of the corresponding size and set the coalescing flag
accordingly. And it likely need to adjust them as the regions below
change.


As I mentioned in another thread, I don't think we want to "design"
coalescing into the API. Coalescing is something that breaks through
abstractions layers and is really just a hack.

It's impossible not to design it into the API. The layer which wants to
do coalescing (the device) has no idea if and where its memory is mapped.

There's two places coalescing currently matters: VGA and PCI devices. Since VGA is just a special PCI device, let's just focus on PCI devices.

The PCI bus knows exactly where the memory is mapped. Yes, if you have complex IOMMU hierarchies it doesn't, but this is my point. We don't need to design coalesced IO to support these sort of complex hierarchies.



Regards,

Anthony Liguori





reply via email to

[Prev in Thread] Current Thread [Next in Thread]