[Bug 93840] [i965] Compiler backend uses too much stack with Alien: Isolation

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Feb 13 16:50:19 UTC 2017


--- Comment #23 from Eero Tamminen <eero.t.tamminen at intel.com> ---
(In reply to Eero Tamminen from comment #22)
> Short term workaround in Mesa could be checking current thread's stack size
> before compilation and fixing the size, if it's set too low by the
> application.


* Adding such functionality to _mesa_compile_shader() -> there were still

* Using LD_PRELOAD for pthread_attr_setstacksize() which filters out all calls
setting stack sizes <8MB -> game works fine (so doing same manually with Gdb
wasn't just timing related luck)

-> I assume compiler thread isn't the only one with stack size issues

(And this isn't the only issue with this game's stack handling, its stack is
both writable & executable which is security-wise nasty for anything

Btw. While testing the Mesa workaround, I bumped also into larger reg
(gdb) bt
#0  __memset_avx2 () at ../sysdeps/x86_64/multiarch/memset-avx2.S:161
#1  0x00007f935282bf5c in memset (__len=968064, __ch=0, __dest=0x7f934000a6c0)
at /usr/include/x86_64-linux-gnu/bits/string3.h:90
#2  fs_instruction_scheduler::calculate_deps (this=0x7f93400f6e90) at
(gdb) print 968064/16/8
$1 = 7563

That's 1MB stack allocation for this one array... 

> As to longer term solution... Just changing compiler to do larger allocs
> from heap instead of using stack, will still assume certain amount of stack
> being free, and it's not easy to track how much each compiler commit changes
> that.
> -> Better would be doing compilation in separate thread (i.e. where
> application won't mess with its stack size).

That would hopefully also speed up AlienIsolation startup, both to main menu,
and from that to actual game.  Currently it's really slow.

You are receiving this mail because:
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-3d-bugs/attachments/20170213/8cf3bfd9/attachment.html>

More information about the intel-3d-bugs mailing list