History

mm, memcg: clean up reclaim iter array

The mem_cgroup_reclaim_cookie is only used in memcg softlimit reclaim now, and the priority of the reclaim is always 0. We don't need to define the iter in struct mem_cgroup_per_node as an array any more. That could make the code more clear and save some space.

Yafang Shao committed 6 years ago

Commit 9da83f31 parent a1100a72 files · +4 −10Browse files

Unified · Split

2 files
  1. include/linux/memcontrol.h +1 −2
  2. mm/memcontrol.c +3 −8
include/linux/memcontrol.h+1−2
@@ -58,7 +58,6 @@ enum mem_cgroup_protection { · 57 unmodified lines
5858
5959 struct mem_cgroup_reclaim_cookie {
6060 pg_data_t *pgdat;
61− int priority;
6261 unsigned int generation;
6362 };
6463
@@ -126,7 +125,7 @@ struct mem_cgroup_per_node { · 61 unmodified lines
126125
127126 unsigned long lru_zone_size[MAX_NR_ZONES][NR_LRU_LISTS];
128127
129− struct mem_cgroup_reclaim_iter iter[DEF_PRIORITY + 1];
128+ struct mem_cgroup_reclaim_iter iter;
130129
131130 struct memcg_shrinker_map __rcu *shrinker_map;
132131
mm/memcontrol.c+3−8
@@ -1052,7 +1052,7 @@ struct mem_cgroup *mem_cgroup_iter(struct mem_cgroup *root, · 1051 unmodified lines
10521052 struct mem_cgroup_per_node *mz;
10531053
10541054 mz = mem_cgroup_nodeinfo(root, reclaim->pgdat->node_id);
1055− iter = &mz->iter[reclaim->priority];
1055+ iter = &mz->iter;
10561056
10571057 if (prev && reclaim->generation != iter->generation)
10581058 goto out_unlock;
@@ -1152,15 +1152,11 @@ static void __invalidate_reclaim_iterators(struct mem_cgroup *from, · 93 unmodified lines
11521152 struct mem_cgroup_reclaim_iter *iter;
11531153 struct mem_cgroup_per_node *mz;
11541154 int nid;
1155− int i;
11561155
11571156 for_each_node(nid) {
11581157 mz = mem_cgroup_nodeinfo(from, nid);
1159− for (i = 0; i <= DEF_PRIORITY; i++) {
1160− iter = &mz->iter[i];
1161− cmpxchg(&iter->position,
1162− dead_memcg, NULL);
1163− }
1158+ iter = &mz->iter;
1159+ cmpxchg(&iter->position, dead_memcg, NULL);
11641160 }
11651161 }
11661162
@@ -1705,7 +1701,6 @@ static int mem_cgroup_soft_reclaim(struct mem_cgroup *root_memcg, · 538 unmodified lines
17051701 unsigned long nr_scanned;
17061702 struct mem_cgroup_reclaim_cookie reclaim = {
17071703 .pgdat = pgdat,
1708− .priority = 0,
17091704 };
17101705
17111706 excess = soft_limit_excess(root_memcg);

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t