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.g...@intel.com wrote:
From: Tim Gore <tim.g...@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.g...@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
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to