Hi vmwgfx maintainers and DRM developers,

I have encountered a severe Slab memory leak in the vmwgfx driver when using a 
Wayland compositor (KWin) with Atomic KMS enabled. This issue eventually leads 
to complete memory exhaustion and OOM within a few minutes of normal desktop 
usage.

[Environment]
Kernel: 7.0-rc3 (Mainline) and 6.17.0-14 (HWE kernel)
Distro: KDE neon Unstable (Ubuntu 24.04 LTS base)
Compositor: KWin Wayland (Latest master branch)
Guest Graphics: VMware SVGA II Adapter (vmwgfx)

[Symptoms & Evidence]
When moving windows or triggering screen updates on the Wayland session, system 
memory is rapidly consumed.
Monitoring with slabtop reveals that radix_tree_node and kmalloc-rnd-07-1k 
objects are leaking aggressively per frame.

It appears that DRM objects (likely GEM handles/IDR or framebuffers) created 
during the Atomic KMS commit are not being properly freed by the driver after 
the frame is rendered, leaving orphaned objects in the kernel Slab.

Earlier, before disabling 3D acceleration, dmesg also showed:
vmwgfx: mob memory overflow. Consider increasing guest RAM and graphicsMemory.
However, even with 3D acceleration disabled (llvmpipe fallback), the Slab 
memory leak persists as long as Atomic KMS is used.

[Steps to Reproduce]
1. Boot a VMware guest with vmwgfx and launch a modern Wayland compositor 
(KWin) that strictly uses Atomic KMS.
2. Move windows around to force screen redraws.
3. Run sudo slabtop -s c and observe radix_tree_node and kmalloc-rnd-07-1k 
growing indefinitely.

[Workaround]
Disabling Atomic KMS in the compositor completely stops the memory leak.
Setting the environment variable KWIN_DRM_NO_AMS=1 forces KWin to use legacy 
DRM API, which works perfectly without any Slab growth. This strongly suggests 
the bug resides in the vmwgfx atomic commit/cleanup path.

Any assistance or guidance on testing potential patches would be greatly 
appreciated. I am happy to provide further logs or test patches if needed.

Best regards,
Yuma Kakei

Reply via email to