lkml.org 
[lkml]   [2015]   [Mar]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[patch 04/12] mm: oom_kill: remove unnecessary locking in exit_oom_victim()
Date
Disabling the OOM killer needs to exclude allocators from entering,
not existing victims from exiting.

Right now the only waiter is suspend code, which achieves quiescence
by disabling the OOM killer. But later on we want to add waits that
hold the lock instead to stop new victims from showing up.

Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
---
mm/oom_kill.c | 2 --
1 file changed, 2 deletions(-)

diff --git a/mm/oom_kill.c b/mm/oom_kill.c
index 4b9547be9170..88aa9ba40fa5 100644
--- a/mm/oom_kill.c
+++ b/mm/oom_kill.c
@@ -437,14 +437,12 @@ void exit_oom_victim(void)
{
clear_thread_flag(TIF_MEMDIE);

- down_read(&oom_sem);
/*
* There is no need to signal the lasst oom_victim if there
* is nobody who cares.
*/
if (!atomic_dec_return(&oom_victims) && oom_killer_disabled)
wake_up_all(&oom_victims_wait);
- up_read(&oom_sem);
}

/**
--
2.3.3


\
 
 \ /
  Last update: 2015-03-25 07:41    [W:0.377 / U:0.872 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site