]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
cgroup-util: add ManagedOOMPreference enum to use between pid1 and oomd
authorAnita Zhang <the.anitazha@gmail.com>
Tue, 9 Feb 2021 10:05:11 +0000 (02:05 -0800)
committerAnita Zhang <the.anitazha@gmail.com>
Tue, 9 Feb 2021 10:27:37 +0000 (02:27 -0800)
src/basic/cgroup-util.c
src/basic/cgroup-util.h
src/test/test-tables.c

index b567822b7ef4ff0341d96885a1c90b2dd691f3fc..bd4bedc38c285da08b1a6b6d8f648b2640759ab8 100644 (file)
@@ -2185,3 +2185,11 @@ static const char* const managed_oom_mode_table[_MANAGED_OOM_MODE_MAX] = {
 };
 
 DEFINE_STRING_TABLE_LOOKUP(managed_oom_mode, ManagedOOMMode);
+
+static const char* const managed_oom_preference_table[_MANAGED_OOM_PREFERENCE_MAX] = {
+        [MANAGED_OOM_PREFERENCE_NONE] = "none",
+        [MANAGED_OOM_PREFERENCE_AVOID] = "avoid",
+        [MANAGED_OOM_PREFERENCE_OMIT] = "omit",
+};
+
+DEFINE_STRING_TABLE_LOOKUP(managed_oom_preference, ManagedOOMPreference);
index bdc0d0d086c9a0bded41a204b1a0959d66474a0d..0e6d27deada6df402c171ecc33ad1afe70959441 100644 (file)
@@ -288,3 +288,14 @@ typedef enum ManagedOOMMode {
 
 const char* managed_oom_mode_to_string(ManagedOOMMode m) _const_;
 ManagedOOMMode managed_oom_mode_from_string(const char *s) _pure_;
+
+typedef enum ManagedOOMPreference {
+        MANAGED_OOM_PREFERENCE_NONE = 0,
+        MANAGED_OOM_PREFERENCE_AVOID = 1,
+        MANAGED_OOM_PREFERENCE_OMIT = 2,
+        _MANAGED_OOM_PREFERENCE_MAX,
+        _MANAGED_OOM_PREFERENCE_INVALID = -1
+} ManagedOOMPreference;
+
+const char* managed_oom_preference_to_string(ManagedOOMPreference a) _const_;
+ManagedOOMPreference managed_oom_preference_from_string(const char *s) _pure_;
index 641cadec858b20ae54cc9f18980387ff0a7bc30a..cc93bbbc749263fda4930b4f25c40cb82279360e 100644 (file)
@@ -73,6 +73,7 @@ int main(int argc, char **argv) {
         test_table(log_target, LOG_TARGET);
         test_table(mac_address_policy, MAC_ADDRESS_POLICY);
         test_table(managed_oom_mode, MANAGED_OOM_MODE);
+        test_table(managed_oom_preference, MANAGED_OOM_PREFERENCE);
         test_table(manager_state, MANAGER_STATE);
         test_table(manager_timestamp, MANAGER_TIMESTAMP);
         test_table(mount_exec_command, MOUNT_EXEC_COMMAND);