[Intel-gfx] [PATCH] intel-gpu-tools: skip gem_mmap_offset_exhaustion on Android
Tvrtko Ursulin
tvrtko.ursulin at linux.intel.com
Fri Jul 25 11:56:04 CEST 2014
On 07/25/2014 10:37 AM, Daniel Vetter wrote:
> On Fri, Jul 25, 2014 at 10:17:26AM +0100, Chris Wilson wrote:
>> On Fri, Jul 25, 2014 at 11:06:38AM +0200, Daniel Vetter wrote:
>>> On Fri, Jul 25, 2014 at 10:00:19AM +0100, tim.gore at intel.com wrote:
>>>> From: Tim Gore <tim.gore at intel.com>
>>>>
>>>> gem_mmap_offset_exhaustion relies on purgeable memory
>>>> allocations getting swapped out, freeing up physical
>>>> memory for further allocations. On Android we have no
>>>> swap partition so this cannot happen and the test gets
>>>> killed by the low memory killer before mmap offset
>>>> exhaustion can happen, thus defeating the tests purpose.
>>>>
>>>> Signed-off-by: Tim Gore <tim.gore at intel.com>
>>>
>>>
>>>
>>> /* we happily leak objects to exhaust mmap offset space, the kernel will
>>> * reap backing storage. */
>>> gem_madvise(fd, handle, I915_MADV_DONTNEED);
>>>
>>> There's really no way you should be able to run out of memory. I suspect
>>> android kernel's will fall over even with swap.
>>
>> No, it's just the android lowmemkiller hates i915 by design. The two are
>> more or less incompatible.
>
> Well someone should fix up the lowmemkiller then. Disabling the test is
> not really fixing it.
AFAIR lowmemorykiller is a weird thing which tries to prevent pagecache
dropping below a configurable threshold by killing processes. If free
pages are below a threshold _and_ page cache is below the same threshold
it will try to kill something. I suppose this is to prevent kernel in
purging the page cache on its own. Interactions must be quite complex
here given that thresholds (in num pages) and oom scores triggers per
each threshold are multiple and configurable.
I was just disabling it when running IGT (echo 0
>/sys/module/lowmemorykiller/parameters/minfree). It is probably
debatable whether this is OK or not, depending how you look at IGT in
the overall pool of testing.
Tvrtko
More information about the Intel-gfx
mailing list