aboutsummaryrefslogtreecommitdiffstats
path: root/executor/common_usb_linux.h
diff options
context:
space:
mode:
authorAleksandr Nogikh <nogikh@google.com>2021-11-16 16:26:09 +0000
committerAleksandr Nogikh <wp32pw@gmail.com>2021-12-03 12:32:03 +0100
commit6df0f018b545aaf2b9bbcfde8b6e530cf90da9be (patch)
tree4b2e75562a31bc94ba9cbb08ec88636bbc299f83 /executor/common_usb_linux.h
parent13755fbbcd4209129926f34a9e1c884dcaee2259 (diff)
executor: allocate output region for individual programs
The amount of virtual memory affects the speed of forking/exiting. As in most cases we do it for each executed program, the difference may be substantial. We don't need 16MB of output data for each execution (in fact, experiments have shown that we never cross even 8MB on Linux). But reducing that cap in more than 2 times is a pretty bold decision, and perhaps it's better to just make the allocation process smarter. Mmap the output region depending on the exact amount of memory needed for a specific program. E.g. if comparisons are collected, the expected amount of output is maximal. If we only collect signals, the output is minimal. Mmap the minimally required region in the parent and then re-mmap it in the forked child if it turns out that a higher amount of memory is needed.
Diffstat (limited to 'executor/common_usb_linux.h')
0 files changed, 0 insertions, 0 deletions