@@ -670,7 +670,7 @@ unsigned long lruvec_page_state(struct lruvec *lruvec, enum node_stat_item idx)
670
670
return node_page_state (lruvec_pgdat (lruvec ), idx );
671
671
672
672
i = memcg_stats_index (idx );
673
- if (i < 0 )
673
+ if (WARN_ONCE ( i < 0 , "%s: missing stat item %d\n" , __func__ , idx ) )
674
674
return 0 ;
675
675
676
676
pn = container_of (lruvec , struct mem_cgroup_per_node , lruvec );
@@ -686,14 +686,14 @@ unsigned long lruvec_page_state_local(struct lruvec *lruvec,
686
686
enum node_stat_item idx )
687
687
{
688
688
struct mem_cgroup_per_node * pn ;
689
- long x = 0 ;
689
+ long x ;
690
690
int i ;
691
691
692
692
if (mem_cgroup_disabled ())
693
693
return node_page_state (lruvec_pgdat (lruvec ), idx );
694
694
695
695
i = memcg_stats_index (idx );
696
- if (i < 0 )
696
+ if (WARN_ONCE ( i < 0 , "%s: missing stat item %d\n" , __func__ , idx ) )
697
697
return 0 ;
698
698
699
699
pn = container_of (lruvec , struct mem_cgroup_per_node , lruvec );
@@ -922,7 +922,7 @@ unsigned long memcg_page_state(struct mem_cgroup *memcg, int idx)
922
922
long x ;
923
923
int i = memcg_stats_index (idx );
924
924
925
- if (i < 0 )
925
+ if (WARN_ONCE ( i < 0 , "%s: missing stat item %d\n" , __func__ , idx ) )
926
926
return 0 ;
927
927
928
928
x = READ_ONCE (memcg -> vmstats -> state [i ]);
@@ -959,7 +959,10 @@ void __mod_memcg_state(struct mem_cgroup *memcg, int idx, int val)
959
959
{
960
960
int i = memcg_stats_index (idx );
961
961
962
- if (mem_cgroup_disabled () || i < 0 )
962
+ if (mem_cgroup_disabled ())
963
+ return ;
964
+
965
+ if (WARN_ONCE (i < 0 , "%s: missing stat item %d\n" , __func__ , idx ))
963
966
return ;
964
967
965
968
__this_cpu_add (memcg -> vmstats_percpu -> state [i ], val );
@@ -972,7 +975,7 @@ static unsigned long memcg_page_state_local(struct mem_cgroup *memcg, int idx)
972
975
long x ;
973
976
int i = memcg_stats_index (idx );
974
977
975
- if (i < 0 )
978
+ if (WARN_ONCE ( i < 0 , "%s: missing stat item %d\n" , __func__ , idx ) )
976
979
return 0 ;
977
980
978
981
x = READ_ONCE (memcg -> vmstats -> state_local [i ]);
@@ -991,7 +994,7 @@ static void __mod_memcg_lruvec_state(struct lruvec *lruvec,
991
994
struct mem_cgroup * memcg ;
992
995
int i = memcg_stats_index (idx );
993
996
994
- if (i < 0 )
997
+ if (WARN_ONCE ( i < 0 , "%s: missing stat item %d\n" , __func__ , idx ) )
995
998
return ;
996
999
997
1000
pn = container_of (lruvec , struct mem_cgroup_per_node , lruvec );
@@ -1102,34 +1105,38 @@ void __mod_lruvec_kmem_state(void *p, enum node_stat_item idx, int val)
1102
1105
void __count_memcg_events (struct mem_cgroup * memcg , enum vm_event_item idx ,
1103
1106
unsigned long count )
1104
1107
{
1105
- int index = memcg_events_index (idx );
1108
+ int i = memcg_events_index (idx );
1106
1109
1107
- if (mem_cgroup_disabled () || index < 0 )
1110
+ if (mem_cgroup_disabled ())
1111
+ return ;
1112
+
1113
+ if (WARN_ONCE (i < 0 , "%s: missing stat item %d\n" , __func__ , idx ))
1108
1114
return ;
1109
1115
1110
1116
memcg_stats_lock ();
1111
- __this_cpu_add (memcg -> vmstats_percpu -> events [index ], count );
1117
+ __this_cpu_add (memcg -> vmstats_percpu -> events [i ], count );
1112
1118
memcg_rstat_updated (memcg , count );
1113
1119
memcg_stats_unlock ();
1114
1120
}
1115
1121
1116
1122
static unsigned long memcg_events (struct mem_cgroup * memcg , int event )
1117
1123
{
1118
- int index = memcg_events_index (event );
1124
+ int i = memcg_events_index (event );
1119
1125
1120
- if (index < 0 )
1126
+ if (WARN_ONCE ( i < 0 , "%s: missing stat item %d\n" , __func__ , event ) )
1121
1127
return 0 ;
1122
- return READ_ONCE (memcg -> vmstats -> events [index ]);
1128
+
1129
+ return READ_ONCE (memcg -> vmstats -> events [i ]);
1123
1130
}
1124
1131
1125
1132
static unsigned long memcg_events_local (struct mem_cgroup * memcg , int event )
1126
1133
{
1127
- int index = memcg_events_index (event );
1134
+ int i = memcg_events_index (event );
1128
1135
1129
- if (index < 0 )
1136
+ if (WARN_ONCE ( i < 0 , "%s: missing stat item %d\n" , __func__ , event ) )
1130
1137
return 0 ;
1131
1138
1132
- return READ_ONCE (memcg -> vmstats -> events_local [index ]);
1139
+ return READ_ONCE (memcg -> vmstats -> events_local [i ]);
1133
1140
}
1134
1141
1135
1142
static void mem_cgroup_charge_statistics (struct mem_cgroup * memcg ,
0 commit comments