diff options
author | Michal Hocko <mhocko@suse.cz> | 2011-07-27 01:08:24 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-07-27 01:49:42 +0200 |
commit | 1af8efe965676ab30d6c8a5b1fccc9229f339a3b (patch) | |
tree | 832cfd92cae498d9af1687bccc77344143df97a1 /fs/sync.c | |
parent | memcg: make oom_lock 0 and 1 based rather than counter (diff) | |
download | linux-1af8efe965676ab30d6c8a5b1fccc9229f339a3b.tar.xz linux-1af8efe965676ab30d6c8a5b1fccc9229f339a3b.zip |
memcg: change memcg_oom_mutex to spinlock
memcg_oom_mutex is used to protect memcg OOM path and eventfd interface
for oom_control. None of the critical sections which it protects sleep
(eventfd_signal works from atomic context and the rest are simple linked
list resp. oom_lock atomic operations).
Mutex is also too heavyweight for those code paths because it triggers a
lot of scheduling. It also makes makes convoying effects more visible
when we have a big number of oom killing because we take the lock
mutliple times during mem_cgroup_handle_oom so we have multiple places
where many processes can sleep.
Signed-off-by: Michal Hocko <mhocko@suse.cz>
Cc: Balbir Singh <bsingharora@gmail.com>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/sync.c')
0 files changed, 0 insertions, 0 deletions