mirror of
https://github.com/jkdansereau/goldeneye-pc-port.git
synced 2026-10-23 15:52:42 +02:00
linux: quiet the false-positive kernel heartbeat watchdog
portHeartbeatCheck fired on any >3s frame gap and re-fired every 2s, spamming ge007.crash.log with thread dumps during gdb pauses, level loads, and SIGTERM teardown on a slow/software-GL setup. Widen to 8s and stop after 3 reports. A genuine hang is permanent so it still gets caught.
This commit is contained in:
1 parent
b49907ded9
commit
ff957c21fc
1 file changed
+7
-1
+7
-1
@@ -173,8 +173,14 @@ static uint64_t portNextTimerUs(void);
|
||||
|
||||
static void portHeartbeatCheck(void)
|
||||
{
|
||||
/* A real hang is a permanent stall; transient >3 s gaps are normal on a
|
||||
* slow/software-GL/debugger setup (level loads, gdb pauses, SIGTERM
|
||||
* teardown) and were spamming ge007.crash.log with dozens of thread
|
||||
* dumps. Use a longer window and stop after a few reports. */
|
||||
static int fired = 0;
|
||||
uint64_t now = sysGetMicroseconds();
|
||||
if (now - g_lastFrameUs > 3000000 && now - g_lastHeartbeatUs > 2000000) {
|
||||
if (fired < 3 && now - g_lastFrameUs > 8000000 && now - g_lastHeartbeatUs > 5000000) {
|
||||
fired++;
|
||||
g_lastHeartbeatUs = now;
|
||||
sysLogPrintf(LOG_ERROR,
|
||||
"kernel heartbeat: no frame rendered for %llu ms (frames=%d); state:",
|
||||
|
||||
Reference in new issue
Block a user