[Bug 93720] Random crashes on (EE) TouchListenerGone: couldn't allocate events

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Fri Jan 29 05:39:46 PST 2016


https://bugs.freedesktop.org/show_bug.cgi?id=93720

--- Comment #12 from Chris Wilson <chris at chris-wilson.co.uk> ---
(In reply to Franck Delache from comment #11)
> I am still scratching my head on how to resolve this issue, but would like
> some clarification on the resources involved. Could you answer some
> questions?
> 
>  - Does pixmaps are allocated in user space?

The pixmap consists of a header (a userspace struct) plus some backing storage.
That backing storage can just be normal system RAM or a set of kernel buffers.

>  - Does buffers (backing the pixmaps) are allocated in user space or kernel
> space?

Both depending on the use case. Not everything that can be rendered by X can be
rendered by the GPU, for those we try to avoid using the GPU at all (and so
just use a regular malloc()). Similarly, there can be times where we haven't
decided to commit to using the GPU, though typically they get allocated backing
storage by the kernel anyway (just used like regular RAM, and converted into a
GPU buffer on demand).

>  - What kind of kernel resources are used for each buffer?

Substantial, I assume around 512 bytes of overhead for each buffer. (It's
probably closer to "just" 160 bytes in most cases.) The buffers are allocated
from swappable storage (i.e. we can move the contents of the GPU buffers out to
swap and return the pages back to the system), and only instantiated upon first
use.

>  - Can we tune the amount of memory reserved by the kernel for those
> resources?

We don't reserve any memory ourselves (other than what is tied up by internal
driver allocations from unswappable kernel memory, i.e. the structs we use to
track the buffers and usage). That memory should be only allocated on demand,
and returned to the system when no longer used. There is "stolen memory" which
is what the BIOS sets aside from the system and reserved for igfx - which we do
not fully utilize and you can recover some memory by tuning that in the BIOS.
The majority of the memory we use should be for the buffers, and that is
swappable or even discarded upon demand (we can't discard a buffer unless the
user says so!). Modulo bugs in the memory management code, of course.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/intel-gfx-bugs/attachments/20160129/93bf7945/attachment.html>


More information about the intel-gfx-bugs mailing list