summaryrefslogtreecommitdiffstats
path: root/fs/sync.c
diff options
context:
space:
mode:
authorMichal Hocko <mhocko@suse.cz>2011-07-27 01:08:24 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2011-07-27 01:49:42 +0200
commit1af8efe965676ab30d6c8a5b1fccc9229f339a3b (patch)
tree832cfd92cae498d9af1687bccc77344143df97a1 /fs/sync.c
parentmemcg: make oom_lock 0 and 1 based rather than counter (diff)
downloadlinux-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