[Bug 84252] DRI3 rendering gets stuck waiting for present idle notify event

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Fri Mar 13 02:25:20 PDT 2015


https://bugs.freedesktop.org/show_bug.cgi?id=84252

--- Comment #31 from Tobias Jakobi <liquid.acid at gmx.net> ---
I tried to triage this further. The issue is a threading problem. I can 'fix'
this reliably by disabling (in-game option) the multi-core rendering.

Here's the thread information for both configurations.

Multi-core rendering disabled:
(gdb) info threads
  Id   Target Id         Frame 
  20   Thread 0xf5344b40 (LWP 5361) "hl2_linux" 0xf77b7c90 in __kernel_vsyscall
()
  19   Thread 0xf4b43b40 (LWP 5362) "IOJob0" 0xf77b7c90 in __kernel_vsyscall ()
  18   Thread 0xf2a9cb40 (LWP 5364) "hl2_linux" 0xf77b7c90 in __kernel_vsyscall
()
  17   Thread 0xeb3f3b40 (LWP 5365) "UICEFThread" 0xf77b7c90 in
__kernel_vsyscall ()
  16   Thread 0xeb2f2b40 (LWP 5366) "BrowserDBThread" 0xf77b7c90 in
__kernel_vsyscall ()
  15   Thread 0xeaaf1b40 (LWP 5367) "SignalSender" 0xf77b7c90 in
__kernel_vsyscall ()
  14   Thread 0xea8dab40 (LWP 5368) "NetworkChangeNo" 0xf77b7c90 in
__kernel_vsyscall ()
  13   Thread 0xea0d9b40 (LWP 5369) "inotify_reader" 0xf77b7c90 in
__kernel_vsyscall ()
  12   Thread 0xe98d8b40 (LWP 5370) "Cef_FileThread" 0xf77b7c90 in
__kernel_vsyscall ()
  11   Thread 0xe90d7b40 (LWP 5371) "Cef_IOThread" 0xf77b7c90 in
__kernel_vsyscall ()
  10   Thread 0xe88d6b40 (LWP 5372) "AppCacheDBThrea" 0xf77b7c90 in
__kernel_vsyscall ()
  9    Thread 0xe7e0fb40 (LWP 5373) "hl2_linux" 0xf77b7c90 in __kernel_vsyscall
()
  8    Thread 0xe7af4b40 (LWP 5374) "SDLAudioDev2" 0xf77b7c90 in
__kernel_vsyscall ()
  7    Thread 0xda757b40 (LWP 5380) "CmpJob0" 0xf77b7c90 in __kernel_vsyscall
()
  6    Thread 0xda656b40 (LWP 5381) "CmpJob1" 0xf77b7c90 in __kernel_vsyscall
()
  5    Thread 0xda555b40 (LWP 5382) "CmpJob2" 0xf77b7c90 in __kernel_vsyscall
()
  4    Thread 0xd5453b40 (LWP 5383) "SaveJob0" 0xf77b7c90 in __kernel_vsyscall
()
  3    Thread 0xd5352b40 (LWP 5384) "QueuedPacketSen" 0xf77b7c90 in
__kernel_vsyscall ()
  2    Thread 0xd007db40 (LWP 5385) "AchievementSave" 0xf77b7c90 in
__kernel_vsyscall ()
* 1    Thread 0xf7137700 (LWP 5360) "hl2_linux" 0xf77b7c90 in __kernel_vsyscall
()

Multi-core rendering enabled:
(gdb) info threads
  Id   Target Id         Frame 
  21   Thread 0xf532db40 (LWP 5449) "hl2_linux" 0xf77a0c90 in __kernel_vsyscall
()
  20   Thread 0xf4b2cb40 (LWP 5450) "IOJob0" 0xf77a0c90 in __kernel_vsyscall ()
  19   Thread 0xf2a85b40 (LWP 5461) "hl2_linux" 0xf77a0c90 in __kernel_vsyscall
()
  18   Thread 0xeb3dcb40 (LWP 5463) "UICEFThread" 0xf77a0c90 in
__kernel_vsyscall ()
  17   Thread 0xeb2dbb40 (LWP 5464) "BrowserDBThread" 0xf77a0c90 in
__kernel_vsyscall ()
  16   Thread 0xeaadab40 (LWP 5465) "SignalSender" 0xf77a0c90 in
__kernel_vsyscall ()
  15   Thread 0xea8c3b40 (LWP 5469) "NetworkChangeNo" 0xf77a0c90 in
__kernel_vsyscall ()
  14   Thread 0xea0c2b40 (LWP 5471) "inotify_reader" 0xf77a0c90 in
__kernel_vsyscall ()
  13   Thread 0xe98c1b40 (LWP 5472) "Cef_FileThread" 0xf77a0c90 in
__kernel_vsyscall ()
  12   Thread 0xe90c0b40 (LWP 5473) "Cef_IOThread" 0xf77a0c90 in
__kernel_vsyscall ()
  11   Thread 0xe88bfb40 (LWP 5475) "AppCacheDBThrea" 0xf77a0c90 in
__kernel_vsyscall ()
  10   Thread 0xe7df8b40 (LWP 5476) "hl2_linux" 0xf77a0c90 in __kernel_vsyscall
()
  9    Thread 0xe7addb40 (LWP 5477) "SDLAudioDev2" 0xf77a0c90 in
__kernel_vsyscall ()
  8    Thread 0xe4895b40 (LWP 5481) "CmpJob0" 0xf77a0c90 in __kernel_vsyscall
()
  7    Thread 0xe4794b40 (LWP 5482) "CmpJob1" 0xf77a0c90 in __kernel_vsyscall
()
  6    Thread 0xe4693b40 (LWP 5483) "CmpJob2" 0xf77a0c90 in __kernel_vsyscall
()
  5    Thread 0xdf591b40 (LWP 5484) "SaveJob0" 0xf77a0c90 in __kernel_vsyscall
()
  4    Thread 0xdf490b40 (LWP 5485) "QueuedPacketSen" 0xf77a0c90 in
__kernel_vsyscall ()
  3    Thread 0xda27db40 (LWP 5486) "AchievementSave" 0xf77a0c90 in
__kernel_vsyscall ()
  2    Thread 0xddf4cb40 (LWP 5501) "MatQueue0" 0xf77a0c90 in __kernel_vsyscall
()
* 1    Thread 0xf7120700 (LWP 5448) "hl2_linux" 0xf77a0c90 in __kernel_vsyscall
()


With multi-core rendering the 'MatQueue0' thread appears (the one which then
hangs later). My guess is that without multi-core the rendering is done from
the main thread.

So something in our stack (xorg-server / mesa / DDX) is not thread-safe.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/intel-gfx-bugs/attachments/20150313/e3e295fd/attachment-0001.html>


More information about the intel-gfx-bugs mailing list