On Wed, Jul 29, 2015 at 09:52:31AM +0000, Morton, Derek J wrote:
> 
> >
> >
> >-----Original Message-----
> >From: Chris Wilson [mailto:[email protected]] 
> >Sent: Wednesday, July 29, 2015 9:54 AM
> >To: Morton, Derek J
> >Cc: [email protected]; Wood, Thomas
> >Subject: Re: [Intel-gfx] [PATCH i-g-t] tests/gem_render_linear_blits: 
> >Increase min swap required
> >
> >On Wed, Jul 29, 2015 at 09:30:21AM +0100, Derek Morton wrote:
> >> The swap-thrash subtest had a requirement that swap memory be present 
> >> but no minimum amount was specified. The subtest allowed for half the 
> >> total swap memory for overhead. Some android systems have a only a 
> >> small amount of swap space and half this was not enough resulting in 
> >> OOM errors. It was not possible to determine the exact amount of 
> >> memory the test would require in all configurations to guarentee swap 
> >> memory would be used but not trigger an OOM error.
> >> As a minimum reccomended swap partition on Linux is 256Mb the subtest 
> >> was updated to require this.
> >> 
> >> Also fixed a couple of small memory leaks.
> >> 
> >> Signed-off-by: Derek Morton <[email protected]>
> >> ---
> >>  tests/gem_render_linear_blits.c | 10 +++++++++-
> >>  1 file changed, 9 insertions(+), 1 deletion(-)
> >> 
> >> diff --git a/tests/gem_render_linear_blits.c 
> >> b/tests/gem_render_linear_blits.c index f83c6d4..5dd210d 100644
> >> --- a/tests/gem_render_linear_blits.c
> >> +++ b/tests/gem_render_linear_blits.c
> >> @@ -184,6 +184,9 @@ static void run_test (int fd, int count)
> >>    }
> >>    intel_batchbuffer_free(batch);
> >>    drm_intel_bufmgr_destroy(bufmgr);
> >> +
> >> +  free(bo);
> >> +  free(start_val);
> >>  }
> >>  
> >>  igt_main
> >> @@ -210,7 +213,12 @@ igt_main
> >>  
> >>    igt_subtest("swap-thrash") {
> >>            uint64_t swap_mb = intel_get_total_swap_mb();
> >> -          igt_require(swap_mb > 0);
> >> +          /* The calculation of count allows 1/2 the swap memory as
> >> +             overhead. However on Android systems with a very small swap
> >> +             partition this is not enough resulting in OOM errors.
> >> +             As 256Mb is a minimum recomended size for a swap partition
> >> +             on Linux, skip the subtest if less than this. */
> >> +          igt_require(swap_mb > 255);
> >>            count = ((intel_get_avail_ram_mb() + (swap_mb / 2)) * 
> >> 1024*1024) / SIZE;
> >>            intel_require_memory(count, SIZE, CHECK_RAM | CHECK_SWAP);
> >
> >Surely fixing intel_require_memory(CHECK_SWAP) (adding the slop of 256MiB 
> >swap or somesuch) would be better?
> 
> I don't think so. igt_require(swap_mb > 255) is simple and easy to 
> understand. intel_require_memory() is doing a crude count+SIZE < ram+swap. It 
> does not take into account any other memory the test might be using or allow 
> any overhead for additional memory used elsewhere in the system. I tried 
> several scenarios with the HW I have. 2Gb RAM and no swap (removed the +swap 
> code) required count = ... / SIZE + 50Kb to run without any OOM errors (40Kb 
> was intermittent). On a 1Gb system with 99Mb of Swap it would quickly OOM 
> even though it should have an extra 50Mb (swap / 2) of free memory on top of 
> what the +50Kb was giving. I do not see any way of accurately calculating 
> count to be a value that guarantees swap memory will be used without going 
> OOM when the amount of swap is small and the amount of overhead RAM used is 
> not known accurately. Hence just skipping the subtest in that situation.
> In fact the intel_require_memory() as it stands is pointless and could even 
> be removed as count is calculated to be a value where intel_require_memory() 
> will never trigger an assert.

So basically, you have a kernel bug you wish to ignore?
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to