aboutsummaryrefslogtreecommitdiffstats
path: root/executor/common.h
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2024-06-10 11:10:14 +0200
committerDmitry Vyukov <dvyukov@google.com>2024-06-10 13:40:53 +0000
commit048c640a64fd064361382a8800de05c87ff630cb (patch)
tree2c896c8ed72d1f589472ee034accc21a3183da42 /executor/common.h
parent348a48c80275445af03c893a955f29c3db0eb62d (diff)
executor: optimize waiting for child processes exit
Currently we sleep only for 1 ms, which may produce some excessive CPU load (we usually have 6/8 such processes waiting). Make it sleep for 10 ms, but also make the sleep return immediately on child exit. This shuold both improve latency and reduce CPU load.
Diffstat (limited to 'executor/common.h')
-rw-r--r--executor/common.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/executor/common.h b/executor/common.h
index fdbf4bcb1..3a735a086 100644
--- a/executor/common.h
+++ b/executor/common.h
@@ -678,9 +678,9 @@ static void loop(void)
uint32 executed_calls = __atomic_load_n(output_data, __ATOMIC_RELAXED);
#endif
for (;;) {
+ sleep_ms(10);
if (waitpid(-1, &status, WNOHANG | WAIT_FLAGS) == pid)
break;
- sleep_ms(1);
#if SYZ_EXECUTOR
// Even though the test process executes exit at the end
// and execution time of each syscall is bounded by syscall_timeout_ms (~50ms),