On Thu, Mar 31, 2011 at 02:01:52PM -0500, Anthony Liguori wrote: > On 03/31/2011 01:49 PM, Michael S. Tsirkin wrote: > >On Thu, Mar 31, 2011 at 01:33:58PM -0500, Anthony Liguori wrote: > >>On 03/31/2011 12:43 PM, Michael S. Tsirkin wrote: > >>>Currently, vga cards that allocate vga ram, > >>>register it as regular ram. When this happens > >>>a lot, vhost need to get notified and flush > >>>its memory tables, which is slow. > >>> > >>>This was observed with cirrus vga. > >>> > >>>As a solution, add an explicit flag when > >>>registering vga ram, vhost-net can simply ignore it. > >>> > >>>Long term, we might be able to use this API > >>>to avoid the need to request > >>>dirty loggin from devices explicitly. > >>> > >>>Tested: with cirrus vga only. > >>> > >>>Signed-off-by: Michael S. Tsirkin<m...@redhat.com> > >>Treating vga specially is not the right approach. > >> > >>You want to treat real RAM specially and only make that visible to > >>vhost. See http://wiki.qemu.org/Features/RamAPI > >That seems like a dead project? And VGa is unhandled there. > > Just needs some love. > > VGA is just another device. It happens to be that we treat VGA > device memory as something that behaves like ram occassionally but > that does not make it RAM.
If we agree on that, will a pair of functions for this work? How about device_register_ram / device_unregister_ram ? > Something like vhost doesn't need to see anything but RAM. If we > have a mechanism to identify RAM as RAM, then vhost can only look at > RAM memory and not worry about things like VGA. > > I thought Alex had gotten a mini-version of RamAPI in but I can't > seem to figure out what that included. Me neither. > At any rate, the point is > still that registering things that you want to exclude in vhost is > the wrong approach, you want to explicitly mark the things you want > to include. > > Regards, > > Anthony Liguori vhost just wants RAM. -- MST