The various bits of code did the scaling all different, let's unify this,
given that the code is not trivial.
/* First, try to parse as percentage */
r = parse_percent(rvalue);
if (r > 0 && r < 100)
- *sz = PAGE_ALIGN((size_t) ((physical_memory() * (uint64_t) r) / 100U));
+ *sz = physical_memory_scale(r, 100U);
else {
uint64_t k;
m->idle_action_usec = 30 * USEC_PER_MINUTE;
m->idle_action = HANDLE_IGNORE;
- m->runtime_dir_size = PAGE_ALIGN((size_t) (physical_memory() / 10)); /* 10% */
+ m->runtime_dir_size = physical_memory_scale(10U, 100U); /* 10% */
m->user_tasks_max = 12288;
m->sessions_max = 8192;
m->inhibitors_max = 8192;