[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <DM5PR21MB0137DA408FE59E8C1171CFFCD78E0@DM5PR21MB0137.namprd21.prod.outlook.com>
Date: Wed, 18 Sep 2019 21:48:04 +0000
From: Michael Kelley <mikelley@...rosoft.com>
To: Wei Hu <weh@...rosoft.com>,
"rdunlap@...radead.org" <rdunlap@...radead.org>,
"shc_work@...l.ru" <shc_work@...l.ru>,
"gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>,
"lee.jones@...aro.org" <lee.jones@...aro.org>,
"alexandre.belloni@...tlin.com" <alexandre.belloni@...tlin.com>,
"baijiaju1990@...il.com" <baijiaju1990@...il.com>,
"fthain@...egraphics.com.au" <fthain@...egraphics.com.au>,
"info@...ux.net" <info@...ux.net>,
"linux-hyperv@...r.kernel.org" <linux-hyperv@...r.kernel.org>,
"dri-devel@...ts.freedesktop.org" <dri-devel@...ts.freedesktop.org>,
"linux-fbdev@...r.kernel.org" <linux-fbdev@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"sashal@...nel.org" <sashal@...nel.org>,
Stephen Hemminger <sthemmin@...rosoft.com>,
Haiyang Zhang <haiyangz@...rosoft.com>,
KY Srinivasan <kys@...rosoft.com>,
Dexuan Cui <decui@...rosoft.com>
Subject: RE: [PATHC v6] video: hyperv: hyperv_fb: Support deferred IO for
Hyper-V frame buffer driver
From: Wei Hu <weh@...rosoft.com> Sent: Tuesday, September 17, 2019 11:03 PM
>
> Without deferred IO support, hyperv_fb driver informs the host to refresh
> the entire guest frame buffer at fixed rate, e.g. at 20Hz, no matter there
> is screen update or not. This patch supports deferred IO for screens in
> graphics mode and also enables the frame buffer on-demand refresh. The
> highest refresh rate is still set at 20Hz.
>
> Currently Hyper-V only takes a physical address from guest as the starting
> address of frame buffer. This implies the guest must allocate contiguous
> physical memory for frame buffer. In addition, Hyper-V Gen 2 VMs only
> accept address from MMIO region as frame buffer address. Due to these
> limitations on Hyper-V host, we keep a shadow copy of frame buffer
> in the guest. This means one more copy of the dirty rectangle inside
> guest when doing the on-demand refresh. This can be optimized in the
> future with help from host. For now the host performance gain from deferred
> IO outweighs the shadow copy impact in the guest.
>
> Signed-off-by: Wei Hu <weh@...rosoft.com>
> ---
> v2: Incorporated review comments from Michael Kelley
> - Increased dirty rectangle by one row in deferred IO case when sending
> to Hyper-V.
> - Corrected the dirty rectangle size in the text mode.
> - Added more comments.
> - Other minor code cleanups.
>
> v3: Incorporated more review comments
> - Removed a few unnecessary variable tests
>
> v4: Incorporated test and review feedback from Dexuan Cui
> - Not disable interrupt while acquiring docopy_lock in
> hvfb_update_work(). This avoids significant bootup delay in
> large vCPU count VMs.
>
> v5: Completely remove the unnecessary docopy_lock after discussing
> with Dexuan Cui.
>
> v6: Do not request host refresh when the VM guest screen is
> closed or minimized.
>
> drivers/video/fbdev/Kconfig | 1 +
> drivers/video/fbdev/hyperv_fb.c | 210 ++++++++++++++++++++++++++++----
> 2 files changed, 190 insertions(+), 21 deletions(-)
>
Reviewed-by: Michael Kelley <mikelley@...rosoft.com>
Powered by blists - more mailing lists