Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9a2809ba authored by Isaac J. Manjarres's avatar Isaac J. Manjarres
Browse files

mm/oom_kill: Online memory before running oom-killer



Attempt to online memory before invoking the oom-killer
to alleviate the memory pressure in the system as quickly
as possible, without sacrificing performance/user-experience
by invoking the oom-killer.

Change-Id: I0cf3c50fcd022cd282731bccb54bfbad45878bb1
Signed-off-by: default avatarIsaac J. Manjarres <isaacm@codeaurora.org>
parent 8873011c
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -1090,6 +1090,13 @@ bool out_of_memory(struct oom_control *oc)

	if (oom_killer_disabled)
		return false;

	if (try_online_one_block(numa_node_id())) {
		/* Got some memory back */
		WARN(1, "OOM killer had to online a memory block\n");
		return true;
	}

#ifdef CONFIG_PRIORITIZE_OOM_TASKS
	oc->min_kill_adj = OOM_SCORE_ADJ_MIN;
#endif
@@ -1157,11 +1164,6 @@ bool out_of_memory(struct oom_control *oc)
#endif

	if (!oc->chosen) {
		if (try_online_one_block(numa_node_id())) {
			/* Got some memory back */
			WARN(1, "OOM killer had to online a memory block\n");
			return true;
		}
		check_panic_on_oom(oc);
		select_bad_process(oc);
	}