diff options
Diffstat (limited to 'include/linux/memcontrol.h')
| -rw-r--r-- | include/linux/memcontrol.h | 14 | 
1 files changed, 11 insertions, 3 deletions
diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h index 1bb49b600310..d0b036123c6a 100644 --- a/include/linux/memcontrol.h +++ b/include/linux/memcontrol.h @@ -32,6 +32,7 @@ struct kmem_cache;  enum memcg_stat_item {  	MEMCG_SWAP = NR_VM_NODE_STAT_ITEMS,  	MEMCG_SOCK, +	MEMCG_PERCPU_B,  	MEMCG_NR_STAT,  }; @@ -64,8 +65,8 @@ struct mem_cgroup_id {  /*   * Per memcg event counter is incremented at every pagein/pageout. With THP, - * it will be incremated by the number of pages. This counter is used for - * for trigger some periodic events. This is straightforward and better + * it will be incremented by the number of pages. This counter is used + * to trigger some periodic events. This is straightforward and better   * than using jiffies etc. to handle periodic memcg event.   */  enum mem_cgroup_events_target { @@ -339,6 +340,13 @@ struct mem_cgroup {  extern struct mem_cgroup *root_mem_cgroup; +static __always_inline bool memcg_stat_item_in_bytes(int idx) +{ +	if (idx == MEMCG_PERCPU_B) +		return true; +	return vmstat_item_in_bytes(idx); +} +  static inline bool mem_cgroup_is_root(struct mem_cgroup *memcg)  {  	return (memcg == root_mem_cgroup); @@ -622,7 +630,7 @@ unsigned long mem_cgroup_get_zone_lru_size(struct lruvec *lruvec,  	struct mem_cgroup_per_node *mz;  	mz = container_of(lruvec, struct mem_cgroup_per_node, lruvec); -	return mz->lru_zone_size[zone_idx][lru]; +	return READ_ONCE(mz->lru_zone_size[zone_idx][lru]);  }  void mem_cgroup_handle_over_high(void);  |