[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