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_physical_memory_scale(void) { uint64_t p; log_info("/* %s */", __func__); p = physical_memory(); assert_se(physical_memory_scale(0, 100) == 0); assert_se(physical_memory_scale(100, 100) == p); log_info("Memory original: %" PRIu64, physical_memory()); log_info("Memory scaled by 50%%: %" PRIu64, physical_memory_scale(50, 100)); log_info("Memory divided by 2: %" PRIu64, physical_memory() / 2); log_info("Page size: %zu", page_size()); /* There might be an uneven number of pages, hence permit these calculations to be half a page off... */ assert_se(page_size()/2 + physical_memory_scale(50, 100) - p/2 <= page_size()); assert_se(physical_memory_scale(200, 100) == p*2); assert_se(physical_memory_scale(0, 1) == 0); assert_se(physical_memory_scale(1, 1) == p); assert_se(physical_memory_scale(2, 1) == p*2); assert_se(physical_memory_scale(0, 2) == 0); assert_se(page_size()/2 + physical_memory_scale(1, 2) - p/2 <= page_size()); assert_se(physical_memory_scale(2, 2) == p); assert_se(physical_memory_scale(4, 2) == p*2); assert_se(physical_memory_scale(0, UINT32_MAX) == 0); assert_se(physical_memory_scale(UINT32_MAX, UINT32_MAX) == p); /* overflow */ assert_se(physical_memory_scale(UINT64_MAX/4, UINT64_MAX) == UINT64_MAX); }