static void manager_reset_config(Manager *m) { m->n_autovts = 6; m->reserve_vt = 6; m->remove_ipc = true; m->inhibit_delay_max = 5 * USEC_PER_SEC; m->handle_power_key = HANDLE_POWEROFF; m->handle_suspend_key = HANDLE_SUSPEND; m->handle_hibernate_key = HANDLE_HIBERNATE; m->handle_lid_switch = HANDLE_SUSPEND; m->handle_lid_switch_ep = _HANDLE_ACTION_INVALID; m->handle_lid_switch_docked = HANDLE_IGNORE; m->power_key_ignore_inhibited = false; m->suspend_key_ignore_inhibited = false; m->hibernate_key_ignore_inhibited = false; m->lid_switch_ignore_inhibited = true; m->holdoff_timeout_usec = 30 * USEC_PER_SEC; m->idle_action_usec = 30 * USEC_PER_MINUTE; m->idle_action = HANDLE_IGNORE; m->runtime_dir_size = physical_memory_scale(10U, 100U); /* 10% */ m->user_tasks_max = system_tasks_max_scale(DEFAULT_USER_TASKS_MAX_PERCENTAGE, 100U); /* 33% */ m->sessions_max = 8192; m->inhibitors_max = 8192; m->kill_user_processes = KILL_USER_PROCESSES; m->kill_only_users = strv_free(m->kill_only_users); m->kill_exclude_users = strv_free(m->kill_exclude_users); }
static void test_system_tasks_max_scale(void) { uint64_t t; log_info("/* %s */", __func__); t = system_tasks_max(); assert_se(system_tasks_max_scale(0, 100) == 0); assert_se(system_tasks_max_scale(100, 100) == t); assert_se(system_tasks_max_scale(0, 1) == 0); assert_se(system_tasks_max_scale(1, 1) == t); assert_se(system_tasks_max_scale(2, 1) == 2*t); assert_se(system_tasks_max_scale(0, 2) == 0); assert_se(system_tasks_max_scale(1, 2) == t/2); assert_se(system_tasks_max_scale(2, 2) == t); assert_se(system_tasks_max_scale(3, 2) == (3*t)/2); assert_se(system_tasks_max_scale(4, 2) == t*2); assert_se(system_tasks_max_scale(0, UINT32_MAX) == 0); assert_se(system_tasks_max_scale((UINT32_MAX-1)/2, UINT32_MAX-1) == t/2); assert_se(system_tasks_max_scale(UINT32_MAX, UINT32_MAX) == t); /* overflow */ assert_se(system_tasks_max_scale(UINT64_MAX/4, UINT64_MAX) == UINT64_MAX); }