You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Aug 18, 2022. It is now read-only.
Add client which uses up finite compositor resources
This makes it possible to check how compositors behave when resource
limits are reached. The three initial modes check what happens when
file descriptors, memory map areas, and allocated memory are exhausted.
Memory map exhaustion is implemented by making and retaining many
wl_shm_pool objects, each of which leads to the compositor making an
mmap call.
Allocated memory exhaustion is implemented by progressively
building up wl_region objects; the client only sends random and
disjoint wl_region.add messages, but the compositor must remember
them all.
File descriptor exhaustion is achieved by creating many buffers
based on the same dmabuf. Compositors do not deduplicate the file
descriptors sent to create the buffers.
In all cases, the resource thief client pays much less than the
compositor, because it reuses an object that the compositor
has no reason to deduplicate, or creates a complicated remote
object without storing a local copy.
0 commit comments