Commit 4e7296aa authored by Chris Wilson's avatar Chris Wilson 🤔

i915/gem_ppgtt: Estimate resource usage and bail if it means swapping!

fi-kbl-guc's swap ran dry while running blt-vs-render-ctxN, which is
mildly concerning but conceivable as we never checked there was enough
memory to run the test to begin with.

Each child needs to keep its own surface and possible a pair of logical
contexts (one for rcs and one for bcs) so check that there is enough
memory to allow all children to co-exist. During execution, we require
another surface and batch, but these are temporary and so should fit
fine with a small amount of thrashing on the boundary.

References: Chris Wilson's avatarChris Wilson <>
Reviewed-by: default avatarMika Kuoppala <>
parent 478615b1
Pipeline #23333 passed with stages
in 10 minutes and 45 seconds
......@@ -91,8 +91,14 @@ static void fork_rcs_copy(int timeout, uint32_t final,
#define CREATE_CONTEXT 0x1
igt_render_copyfunc_t render_copy;
uint64_t mem_per_child;
int devid;
mem_per_child = SIZE;
if (flags & CREATE_CONTEXT)
mem_per_child += 2 * 128 * 1024; /* rough context sizes */
intel_require_memory(mem_per_child, count, CHECK_RAM);
for (int child = 0; child < count; child++) {
int fd = drm_open_driver(DRIVER_INTEL);
drm_intel_bufmgr *bufmgr;
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment