aboutsummaryrefslogtreecommitdiffstats
path: root/mm/memcontrol.c
diff options
context:
space:
mode:
authorJohannes Weiner <jweiner@redhat.com>2012-01-12 20:18:35 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2012-01-12 23:13:06 -0500
commit0e574a932d2cab8eb3b02d21feb59f2c09154738 (patch)
tree5bfae84ec49d6e92efcf6ba1cb92235f546c8e38 /mm/memcontrol.c
parent72835c86ca15d0126354b73d5f29ce9194931c9b (diff)
mm: memcg: clean up fault accounting
The fault accounting functions have a single, memcg-internal user, so they don't need to be global. In fact, their one-line bodies can be directly folded into the caller. And since faults happen one at a time, use this_cpu_inc() directly instead of this_cpu_add(foo, 1). Signed-off-by: Johannes Weiner <jweiner@redhat.com> Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Acked-by: Michal Hocko <mhocko@suse.cz> Acked-by: Balbir Singh <bsingharora@gmail.com> Cc: David Rientjes <rientjes@google.com> Cc: Hugh Dickins <hughd@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/memcontrol.c')
-rw-r--r--mm/memcontrol.c18
1 files changed, 4 insertions, 14 deletions
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index aeb23933a052..93cb16d2b96a 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -655,16 +655,6 @@ static void mem_cgroup_swap_statistics(struct mem_cgroup *memcg,
655 this_cpu_add(memcg->stat->count[MEM_CGROUP_STAT_SWAPOUT], val); 655 this_cpu_add(memcg->stat->count[MEM_CGROUP_STAT_SWAPOUT], val);
656} 656}
657 657
658void mem_cgroup_pgfault(struct mem_cgroup *memcg, int val)
659{
660 this_cpu_add(memcg->stat->events[MEM_CGROUP_EVENTS_PGFAULT], val);
661}
662
663void mem_cgroup_pgmajfault(struct mem_cgroup *memcg, int val)
664{
665 this_cpu_add(memcg->stat->events[MEM_CGROUP_EVENTS_PGMAJFAULT], val);
666}
667
668static unsigned long mem_cgroup_read_events(struct mem_cgroup *memcg, 658static unsigned long mem_cgroup_read_events(struct mem_cgroup *memcg,
669 enum mem_cgroup_events_index idx) 659 enum mem_cgroup_events_index idx)
670{ 660{
@@ -978,11 +968,11 @@ void mem_cgroup_count_vm_event(struct mm_struct *mm, enum vm_event_item idx)
978 goto out; 968 goto out;
979 969
980 switch (idx) { 970 switch (idx) {
981 case PGMAJFAULT:
982 mem_cgroup_pgmajfault(memcg, 1);
983 break;
984 case PGFAULT: 971 case PGFAULT:
985 mem_cgroup_pgfault(memcg, 1); 972 this_cpu_inc(memcg->stat->events[MEM_CGROUP_EVENTS_PGFAULT]);
973 break;
974 case PGMAJFAULT:
975 this_cpu_inc(memcg->stat->events[MEM_CGROUP_EVENTS_PGMAJFAULT]);
986 break; 976 break;
987 default: 977 default:
988 BUG(); 978 BUG();