[PROTO] [VIRTIO] [PATCH 0/2] Improve display performances when VIRGL is not available

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

 



Hello,

This patch series is a prototype that attemps to solve the display performance
problem inherent to the virtio-gpu protocol when VIRGL support isn't available
on the host side.

The first patch is the latest version (I found) of the virtio-gpu protocol
specification patch from Gerd Hoffmann. I have included it verbatim.

The second patch is an extension to the virtio-gpu protocol to allow memory
for buffers to be allocated by the host and mapped to the guest, in an attempt
to remove a full-frame memcpy() for each page flip.

I haven't finished implementing this specification in QEMU and the Linux
kernel virtio-gpu driver yet, so it remains untested for now. One problem
remains to be solved, as the specification doesn't document how the
host-allocated backing storage can be mapped to the guest. I plan to
experiment with KVM_SET_USER_MEMORY_REGION, but adding random memory regions
to guests at runtime isn't a good idea as the guest memory space is mostly
managed by the guest. One possible solution would be to declare a large device
memory range (through a separate PCI BAR or mmio memory range) that would be
initially unpopulated, and map the buffers in that range. Whether that option
is viable remains to be analyzed, but feedback would already be welcome.

Gerd Hoffmann (1):
  Add virtio gpu device specification.

Laurent Pinchart (1):
  virtio-gpu: Support host-allocated backing storage

 content.tex    |   2 +
 virtio-gpu.tex | 529 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 531 insertions(+)
 create mode 100644 virtio-gpu.tex

-- 
Regards,

Laurent Pinchart




[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux