[Intel-gfx] Failure to map memory?

Pierre Willenbrock pierre at pirsoft.de
Sat Aug 15 22:10:30 CEST 2009


Pierre Willenbrock schrieb:
> Hi list,
> 
> i see a strange problem with at least two applications: Both get stuck
> in a  memcpy, using 100% cpu, making no progress. This is reproducible
> by using mesa/progs/tests/mipmap_limits and hitting "m" three times.
> Full backtrace below.
> 
> This is on an i965, 32bit kernel with pat, PAE and 4GB RAM, in case that
> matters. All relevant components are at/near their upstream masters:
> kernel:7b2aa037e878c939676675969983284a02958ae3
> drm:   d74c67fb13d8c3e8c2e5968d827285d147a5dfc0(current master)
> mesa:  7b2aa037e878c939676675969983284a02958ae3(current master)
> 
> I suspect the kernel fails to map the backing pages for the buffer
> objects, and retries over and over again. I cannot figure out how to
> debug this, oprofile does only get samples accounting for a few percent
> of the load, i don't know good places to set breakpoints using kgdb and
> drm.debug=1 proves not helpful.
> 

The problem is i915_gem_fault constantly getting called. This is because
the copy instruction in user space needs to have the source and
destination page available at the same time, but every time
i915_gem_fault maps one of them, the other one is unmapped, because its
fence is reused.

This could be fixed either by not allocating that many fences, or by
being more intelligent about choosing the fence to steal, not choosing
the very first not in use by the gpu.

This looks similar to bugs #23253 and #23220.

Regards,
  Pierre



More information about the Intel-gfx mailing list