[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <5a58696d-7f23-a577-c25e-ebe748b1aef0@samsung.com>
Date: Wed, 15 Jan 2020 16:16:44 +0100
From: Bartlomiej Zolnierkiewicz <b.zolnierkie@...sung.com>
To: Dexuan Cui <decui@...rosoft.com>
Cc: Michael Kelley <mikelley@...rosoft.com>,
Wei Hu <weh@...rosoft.com>, KY Srinivasan <kys@...rosoft.com>,
Haiyang Zhang <haiyangz@...rosoft.com>,
Stephen Hemminger <sthemmin@...rosoft.com>,
"sashal@...nel.org" <sashal@...nel.org>, "hch@....de" <hch@....de>,
"m.szyprowski@...sung.com" <m.szyprowski@...sung.com>,
"mchehab+samsung@...nel.org" <mchehab+samsung@...nel.org>,
"sam@...nborg.org" <sam@...nborg.org>,
"gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>,
"alexandre.belloni@...tlin.com" <alexandre.belloni@...tlin.com>,
"info@...ux.net" <info@...ux.net>, "arnd@...db.de" <arnd@...db.de>,
"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>,
"linux-hyperv@...r.kernel.org" <linux-hyperv@...r.kernel.org>,
kbuild test robot <lkp@...el.com>
Subject: Re: [PATCH v4] video: hyperv: hyperv_fb: Use physical memory for fb
on HyperV Gen 1 VMs.
On 1/6/20 11:37 PM, Dexuan Cui wrote:
>> From: Michael Kelley <mikelley@...rosoft.com>
>> Sent: Monday, December 9, 2019 8:33 AM
>> To: Wei Hu <weh@...rosoft.com>; b.zolnierkie@...sung.com; KY
>> Srinivasan <kys@...rosoft.com>; Haiyang Zhang <haiyangz@...rosoft.com>;
>> Stephen Hemminger <sthemmin@...rosoft.com>; sashal@...nel.org;
>> hch@....de; m.szyprowski@...sung.com; mchehab+samsung@...nel.org;
>> sam@...nborg.org; gregkh@...uxfoundation.org;
>> alexandre.belloni@...tlin.com; info@...ux.net; arnd@...db.de;
>> dri-devel@...ts.freedesktop.org; linux-fbdev@...r.kernel.org;
>> linux-kernel@...r.kernel.org; linux-hyperv@...r.kernel.org; Dexuan Cui
>> <decui@...rosoft.com>
>> Cc: kbuild test robot <lkp@...el.com>
>> Subject: RE: [PATCH v4] video: hyperv: hyperv_fb: Use physical memory for
>> fb on HyperV Gen 1 VMs.
>>
>> From: Wei Hu <weh@...rosoft.com> Sent: Sunday, December 8, 2019 11:58
>> PM
>>>
>>> On Hyper-V, Generation 1 VMs can directly use VM's physical memory for
>>> their framebuffers. This can improve the efficiency of framebuffer and
>>> overall performance for VM. The physical memory assigned to framebuffer
>>> must be contiguous. We use CMA allocator to get contiguous physicial
>>> memory when the framebuffer size is greater than 4MB. For size under
>>> 4MB, we use alloc_pages to achieve this.
>>>
>>> To enable framebuffer memory allocation from CMA, supply a kernel
>>> parameter to give enough space to CMA allocator at boot time. For
>>> example:
>>> cma=130m
>>> This gives 130MB memory to CAM allocator that can be allocated to
>>> framebuffer. If this fails, we fall back to the old way of using
>>> mmio for framebuffer.
>>>
>>> Reported-by: kbuild test robot <lkp@...el.com>
>>> Signed-off-by: Wei Hu <weh@...rosoft.com>
>>> ---
>>> v2: Incorporated review comments form hch@....de, Michael Kelley
>> and
>>> Dexuan Cui
>>> - Use dma_alloc_coherent to allocate large contiguous memory
>>> - Use phys_addr_t for physical addresses
>>> - Corrected a few spelling errors and minor cleanups
>>> - Also tested on 32 bit Ubuntu guest
>>> v3: Fixed a build issue reported by kbuild test robot and incorported
>>> some review comments from Michael Kelley
>>> - Add CMA check to avoid link failure
>>> - Fixed small memory leak introduced by alloc_apertures
>>> - Cleaned up so code
>>> v4: Removed request_pages variable as it is no longer needed
>>>
>>> drivers/video/fbdev/Kconfig | 1 +
>>> drivers/video/fbdev/hyperv_fb.c | 182
>> +++++++++++++++++++++++++-------
>>> 2 files changed, 144 insertions(+), 39 deletions(-)
>>>
>>
>> Reviewed-by: Michael Kelley <mikelley@...rosoft.com>
>
> Tested-by: Dexuan Cui <decui@...rosoft.com>
>
> For a Gen-1 VM running on recent Hyper-V hosts, this patch can greatly
> reduce the CPU utilization because it avoids the slow data copy from the
> shadow framebuffer to the MMIO framebuffer, and hence it resolves the
> "blurred screen" issue when we output a lot of characters on the text-mode
> ternimal (e.g. "dmesg").
Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@...sung.com>
Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics
Powered by blists - more mailing lists