memcg: use proper type for mod_memcg_state
The memcg stats update functions can take arbitrary integer but the only input which make sense is enum memcg_stat_item and we don't want these functions to be called with arbitrary integer, so replace the parameter type with enum memcg_stat_item and compiler will be able to warn if memcg stat update functions are called with incorrect index value. Link: https://lkml.kernel.org/r/20240501172617.678560-9-shakeel.butt@linux.dev Signed-off-by: Shakeel Butt <shakeel.butt@linux.dev> Reviewed-by: T.J. Mercier <tjmercier@google.com> Reviewed-by: Roman Gushchin <roman.gushchin@linux.dev> Cc: Johannes Weiner <hannes@cmpxchg.org> Cc: Michal Hocko <mhocko@kernel.org> Cc: Muchun Song <muchun.song@linux.dev> Cc: Yosry Ahmed <yosryahmed@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
acb5fe2f1a
commit
a94032b35e
@ -974,7 +974,8 @@ void mem_cgroup_print_oom_group(struct mem_cgroup *memcg);
|
||||
void folio_memcg_lock(struct folio *folio);
|
||||
void folio_memcg_unlock(struct folio *folio);
|
||||
|
||||
void __mod_memcg_state(struct mem_cgroup *memcg, int idx, int val);
|
||||
void __mod_memcg_state(struct mem_cgroup *memcg, enum memcg_stat_item idx,
|
||||
int val);
|
||||
|
||||
/* try to stablize folio_memcg() for all the pages in a memcg */
|
||||
static inline bool mem_cgroup_trylock_pages(struct mem_cgroup *memcg)
|
||||
@ -995,7 +996,7 @@ static inline void mem_cgroup_unlock_pages(void)
|
||||
|
||||
/* idx can be of type enum memcg_stat_item or node_stat_item */
|
||||
static inline void mod_memcg_state(struct mem_cgroup *memcg,
|
||||
int idx, int val)
|
||||
enum memcg_stat_item idx, int val)
|
||||
{
|
||||
unsigned long flags;
|
||||
|
||||
@ -1005,7 +1006,7 @@ static inline void mod_memcg_state(struct mem_cgroup *memcg,
|
||||
}
|
||||
|
||||
static inline void mod_memcg_page_state(struct page *page,
|
||||
int idx, int val)
|
||||
enum memcg_stat_item idx, int val)
|
||||
{
|
||||
struct mem_cgroup *memcg;
|
||||
|
||||
@ -1491,19 +1492,19 @@ static inline void mem_cgroup_print_oom_group(struct mem_cgroup *memcg)
|
||||
}
|
||||
|
||||
static inline void __mod_memcg_state(struct mem_cgroup *memcg,
|
||||
int idx,
|
||||
enum memcg_stat_item idx,
|
||||
int nr)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void mod_memcg_state(struct mem_cgroup *memcg,
|
||||
int idx,
|
||||
enum memcg_stat_item idx,
|
||||
int nr)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void mod_memcg_page_state(struct page *page,
|
||||
int idx, int val)
|
||||
enum memcg_stat_item idx, int val)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -955,7 +955,8 @@ static int memcg_state_val_in_pages(int idx, int val)
|
||||
* @idx: the stat item - can be enum memcg_stat_item or enum node_stat_item
|
||||
* @val: delta to add to the counter, can be negative
|
||||
*/
|
||||
void __mod_memcg_state(struct mem_cgroup *memcg, int idx, int val)
|
||||
void __mod_memcg_state(struct mem_cgroup *memcg, enum memcg_stat_item idx,
|
||||
int val)
|
||||
{
|
||||
int i = memcg_stats_index(idx);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user