diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2021-10-11 14:19:42 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2021-10-12 15:25:31 +0200 |
| commit | 607ad2b370822491f074f06a4e751c23cfefce05 (patch) | |
| tree | 4ecdc0a0a2ddccb3f6e366dff55523d9427aab5d /executor | |
| parent | fe37c8029dd9595e960f518080e12f79f832386a (diff) | |
executor: setup cgroups once
Currently we setup cgroups on every test process start
(along with sandbox creation). That's unnecessary because
that's global per-machine setup. Move cgroup setup into setup section
that's executed once per machine from pkg/host.Setup.
Diffstat (limited to 'executor')
| -rw-r--r-- | executor/common.h | 3 | ||||
| -rw-r--r-- | executor/common_linux.h | 7 | ||||
| -rw-r--r-- | executor/executor.cc | 1 | ||||
| -rw-r--r-- | executor/executor_bsd.h | 4 |
4 files changed, 8 insertions, 7 deletions
diff --git a/executor/common.h b/executor/common.h index 7a36cfe8d..1e6eca5ae 100644 --- a/executor/common.h +++ b/executor/common.h @@ -763,6 +763,9 @@ int main(void) #if SYZ_SYSCTL setup_sysctl(); #endif +#if SYZ_CGROUPS + setup_cgroups(); +#endif #if SYZ_BINFMT_MISC setup_binfmt_misc(); #endif diff --git a/executor/common_linux.h b/executor/common_linux.h index 173533a5e..16880d00e 100644 --- a/executor/common_linux.h +++ b/executor/common_linux.h @@ -3481,10 +3481,6 @@ static void mount_cgroups(const char* dir, const char** controllers, int count) static void setup_cgroups() { -#if SYZ_EXECUTOR - if (!flag_cgroups) - return; -#endif // We want to cover both cgroup and cgroup2. // Each resource controller can be bound to only one of them, // so to cover both we divide all controllers into 3 arbitrary groups. @@ -3636,9 +3632,6 @@ static void setup_common() if (mount(0, "/sys/fs/fuse/connections", "fusectl", 0, 0)) { debug("mount(fusectl) failed: %d\n", errno); } -#if SYZ_EXECUTOR || SYZ_CGROUPS - setup_cgroups(); -#endif } #include <sched.h> diff --git a/executor/executor.cc b/executor/executor.cc index 25e3be69d..76b1d284a 100644 --- a/executor/executor.cc +++ b/executor/executor.cc @@ -1522,6 +1522,7 @@ void setup_features(char** enable, int n) flag_debug = true; #if SYZ_HAVE_FEATURES setup_sysctl(); + setup_cgroups(); #endif for (int i = 0; i < n; i++) { bool found = false; diff --git a/executor/executor_bsd.h b/executor/executor_bsd.h index 873d6c906..db02c61b7 100644 --- a/executor/executor_bsd.h +++ b/executor/executor_bsd.h @@ -179,4 +179,8 @@ static feature_t features[] = { static void setup_sysctl(void) { } + +static void setup_cgroups(void) +{ +} #endif |
