Received: by 2002:a25:f815:0:0:0:0:0 with SMTP id u21csp1565837ybd; Wed, 26 Jun 2019 20:44:23 -0700 (PDT) X-Google-Smtp-Source: APXvYqxckPdr3lGO9HSENR+lLNUyS4N2Y++tQ/KGOWE7qadTahuI1jxVnaNpH4xNz9/Vliz2/i4I X-Received: by 2002:a17:902:9b94:: with SMTP id y20mr1980874plp.260.1561607063207; Wed, 26 Jun 2019 20:44:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1561607063; cv=none; d=google.com; s=arc-20160816; b=XS9C2ucYY7g10hq7+n54uPiIWF73H6rwMmzIOIejRESJjm1iZxnhO1+0uMu38mMIft FGmeLxamubi6oAaGpnYTrchCj8XoiCp3ADLgYPxEbP2TVB0p+XX56Kcy7p5fuRqH4UVd 4iMfPY7aiJjh1dhsIDy0GpFhEYqxYbAQbNRiAnJtNJMNXLQbHkLe6nh/2EYN72ZPXFtx 0zh5BZzCyIITuJUfpTv8RgpptBhAtZh7oMv0fGa6toGmynL+gE6xpcI2iEIkoKExCxzN MZ4YTAai79kCpN2+7hIRrO4DmkL1RD1y3SPEaKVj6Atoztd4XXfo2xzmkfhV9VRneRhT ngjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from; bh=cPyHdQUjuBdD0cFMobnkHm42SNVWdm38doilMoezh5M=; b=zt4PDjgRcXQERBEvLCGl10IPKFH256NP2JV3tac4TotN6D9ojurgrS+3yjFNn+Ubsh ikfqhCm3blY8jTuCn0kCTZWu/6A/aBqLo+1I7uByGu0fB8bYZwQyQ6MK4IDmyTEzajIb jEHys4fGHk7WKnqt2UIhFUhvN0pZ0NnLukaDJIeblPaGnoZK8lO+adYJfpzodm3LTl4U 666ujYDWMMRvtBlBJ7qobxtaXBmlAxmkuH97f8qyS2+3+rRPUv8xJphKsy4zfe+aD743 7LhBhHmui2RJrMh2SR0P+TrUjwZUeCj60eFPxNgM/uLAqfaHbOqXLFRKTmDPNUcpvktO AC1w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id u5si968010pgp.2.2019.06.26.20.44.06; Wed, 26 Jun 2019 20:44:23 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726836AbfF0DoC (ORCPT + 99 others); Wed, 26 Jun 2019 23:44:02 -0400 Received: from mga17.intel.com ([192.55.52.151]:21244 "EHLO mga17.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726447AbfF0DoC (ORCPT ); Wed, 26 Jun 2019 23:44:02 -0400 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 26 Jun 2019 20:44:01 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.63,422,1557212400"; d="scan'208";a="360560931" Received: from gvt.bj.intel.com ([10.238.158.187]) by fmsmga005.fm.intel.com with ESMTP; 26 Jun 2019 20:43:59 -0700 From: Tina Zhang To: intel-gvt-dev@lists.freedesktop.org, kvm@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Tina Zhang , 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 Message-Id: <20190627033802.1663-1-tina.zhang@intel.com> X-Mailer: git-send-email 2.17.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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