Re: [RFC PATCH qxl-wddm-dod] Use DEVRAM if no more space is available in VRAM

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

 





On Mon, Apr 10, 2017 at 6:47 PM, Frediano Ziglio <fziglio@xxxxxxxxxx> wrote:
Previous Windows drivers use mainly DEVRAM so in some environments
(like RHEV-M 4.0) VRAM is really limited.
This patch use DEVRAM as a fallback to avoid getting out of memory
conditions too earlier in such environments.

Signed-off-by: Frediano Ziglio <fziglio@xxxxxxxxxx>
---
 qxldod/QxlDod.cpp | 2 ++
 1 file changed, 2 insertions(+)

This patch should go on top of "Make easier to change Qxl memory layout"
series.
It implements fallback for allocation requests in VRAM.
Basically if there are no memory in VRAM space DEVRAM is attempted
instead. As memory allocated in VRAM can be in DEVRAM this works
without problems (the opposite is not true as some memory must
reside in DEVRAM).
This patch has the advantage to use more memory as it uses both
Bars and potentially decrease memory fragmentation as small
allocations occurs in a single Bar (Bar0).

diff --git a/qxldod/QxlDod.cpp b/qxldod/QxlDod.cpp
index 4191525..58a41ff 100755
--- a/qxldod/QxlDod.cpp
+++ b/qxldod/QxlDod.cpp
@@ -4048,6 +4048,8 @@ void *QxlDevice::AllocMem(UINT32 mspace_type, size_t size, BOOL force)
         FlushReleaseRing();

         ptr = mspace_malloc(m_MSInfo[mspace_type]._mspace, size);
+        if (!ptr && mspace_type == MSPACE_TYPE_VRAM && m_MSInfo[MSPACE_TYPE_DEVRAM]._mspace)

I think, checking presence of DEVRAM each time is redundant, as the driver fails on early startup stage if Bar0 is not present
 
+            ptr = mspace_malloc(m_MSInfo[MSPACE_TYPE_DEVRAM]._mspace, size);
         if (ptr) {
             break;
         }
--
2.9.3

_______________________________________________
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/spice-devel

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]