Re: [Xen-devel] Re: More virtio users

From: Anthony Liguori
Date: Mon Jun 11 2007 - 15:25:11 EST


Gerd Hoffmann wrote:
Hi,

Framebuffer is an interesting one. Virtio doesn't assume shared memory,
so naively the fb you would just send outbufs describing changed memory.
This would work, but describing rectangles is better. A helper might be
the right approach here

Rectangles work just fine for a framebuffer console. They stop working once you plan to run any graphical stuff such as an X-Server on top of the framebuffer. Only way to get notified about changes is page faults, i.e. 4k granularity on the linear framebuffer memory.

Related to Framebuffer is virtual keyboard and virtual mouse (or better touchscreen), which probably works perfectly fine with virtio. I'd guess you can even reuse the input layer event struct for the virtio events.

Virtio seems like overkill for either of those things. It's necessary for pure PV but not at all necessary for something like KVM.

Xen has virtual framebuffer, kbd & mouse, although not (yet?) in the paravirt_ops patch queue, so there is something you can look at ;)

In retrospect, IMHO, a shared framebuffer was a bad idea for Xen. It's easy enough for dealing with an unaccelerated display, but once you start getting into more advanced features like blitting (which is really important actually for decent VNC performance), the synchronization becomes a big problem.

If we were to do a PV display driver again, I really think something that is closer to a VNC protocol is the right way to go. There simply isn't a significant performance overhead to copying the relatively small amount of memory.

So virtio in it's current form would actually be pretty useful for that.

Regards,

Anthony Liguori


cheers,
Gerd

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/