From: Tina Zhang <tina.zhang@intel.com>
To: intel-gvt-dev@lists.freedesktop.org, kvm@vger.kernel.org,
linux-kernel@vger.kernel.org
Cc: Tina Zhang <tina.zhang@intel.com>,
kraxel@redhat.com, zhenyuw@linux.intel.com, zhiyuan.lv@intel.com,
zhi.a.wang@intel.com, kevin.tian@intel.com, hang.yuan@intel.com,
alex.williamson@redhat.com
Subject: [RFC PATCH v3 0/4] Deliver vGPU display vblank event to userspace
Date: Thu, 27 Jun 2019 11:37:58 +0800 [thread overview]
Message-ID: <20190627033802.1663-1-tina.zhang@intel.com> (raw)
This series tries to send the vGPU display vblank event to user land.
Instead of delivering page flip events, we choose to post display vblank
event. Handling page flip events for both primary plane and cursor plane
may make user space quite busy, although we have the mask/unmask mechansim
for mitigation. Besides, there are some cases that guest app only uses
one framebuffer for both drawing and display. In such case, guest OS won't
do the plane page flip when the framebuffer is updated, thus the user
land won't be notified about the updated framebuffer.
With vGPU's vblank event working as a timer, userspace still needs to
query the framebuffer first, before getting a new dma-buf for it.
v3:
- Deliver display vblank event instead of page flip event. (Zhenyu)
v2:
- Use VFIO irq chain to get eventfds from userspace instead of adding
a new ABI. (Alex)
v1:
- https://patchwork.kernel.org/cover/10962341/
Tina Zhang (4):
vfio: Define device specific irq type capability
vfio: Introduce vGPU display irq type
drm/i915/gvt: Register vGPU display vblank irq
drm/i915/gvt: Deliver vGPU vblank event to userspace
drivers/gpu/drm/i915/gvt/display.c | 14 +-
drivers/gpu/drm/i915/gvt/gvt.h | 6 +
drivers/gpu/drm/i915/gvt/hypercall.h | 1 +
drivers/gpu/drm/i915/gvt/kvmgt.c | 193 +++++++++++++++++++++++++--
drivers/gpu/drm/i915/gvt/mpt.h | 17 +++
include/uapi/linux/vfio.h | 22 ++-
6 files changed, 241 insertions(+), 12 deletions(-)
--
2.17.1
next reply other threads:[~2019-06-27 3:44 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-27 3:37 Tina Zhang [this message]
2019-06-27 3:37 ` [RFC PATCH v3 1/4] vfio: Define device specific irq type capability Tina Zhang
2019-06-27 4:07 ` Alex Williamson
2019-06-27 8:40 ` Zhang, Tina
2019-06-27 6:19 ` Gerd Hoffmann
2019-06-27 8:55 ` Zhang, Tina
2019-06-27 10:20 ` Gerd Hoffmann
2019-06-27 3:38 ` [RFC PATCH v3 2/4] vfio: Introduce vGPU display irq type Tina Zhang
2019-06-27 6:20 ` Gerd Hoffmann
2019-06-27 9:11 ` Zhang, Tina
2019-06-27 3:38 ` [RFC PATCH v3 3/4] drm/i915/gvt: Register vGPU display vblank irq Tina Zhang
2019-06-27 3:38 ` [RFC PATCH v3 4/4] drm/i915/gvt: Deliver vGPU vblank event to userspace Tina Zhang
2019-06-27 6:22 ` [RFC PATCH v3 0/4] Deliver vGPU display " Gerd Hoffmann
2019-06-27 8:44 ` Zhang, Tina
2019-06-27 10:31 ` Gerd Hoffmann
2019-06-28 3:21 ` Zhenyu Wang
2019-06-28 5:43 ` Gerd Hoffmann
2019-06-28 7:23 ` Zhenyu Wang
2019-06-28 8:44 ` Zhang, Tina
2019-06-28 12:43 ` Zhang, Tina
2019-07-01 3:09 ` Zhenyu Wang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190627033802.1663-1-tina.zhang@intel.com \
--to=tina.zhang@intel.com \
--cc=alex.williamson@redhat.com \
--cc=hang.yuan@intel.com \
--cc=intel-gvt-dev@lists.freedesktop.org \
--cc=kevin.tian@intel.com \
--cc=kraxel@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=zhenyuw@linux.intel.com \
--cc=zhi.a.wang@intel.com \
--cc=zhiyuan.lv@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox