memcontrol: use N_MEMORY instead N_HIGH_MEMORY
N_HIGH_MEMORY stands for the nodes that has normal or high memory. N_MEMORY stands for the nodes that has any memory. The code here need to handle with the nodes which have memory, we should use N_MEMORY instead. Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com> Signed-off-by: Wen Congyang <wency@cn.fujitsu.com> Cc: Christoph Lameter <cl@linux.com> Cc: Hillf Danton <dhillf@gmail.com> Cc: Lin Feng <linfeng@cn.fujitsu.com> Cc: David Rientjes <rientjes@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
4ff1b2c293
commit
31aaea4aa1
|
@ -800,7 +800,7 @@ static unsigned long mem_cgroup_nr_lru_pages(struct mem_cgroup *memcg,
|
||||||
int nid;
|
int nid;
|
||||||
u64 total = 0;
|
u64 total = 0;
|
||||||
|
|
||||||
for_each_node_state(nid, N_HIGH_MEMORY)
|
for_each_node_state(nid, N_MEMORY)
|
||||||
total += mem_cgroup_node_nr_lru_pages(memcg, nid, lru_mask);
|
total += mem_cgroup_node_nr_lru_pages(memcg, nid, lru_mask);
|
||||||
return total;
|
return total;
|
||||||
}
|
}
|
||||||
|
@ -1644,9 +1644,9 @@ static void mem_cgroup_may_update_nodemask(struct mem_cgroup *memcg)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* make a nodemask where this memcg uses memory from */
|
/* make a nodemask where this memcg uses memory from */
|
||||||
memcg->scan_nodes = node_states[N_HIGH_MEMORY];
|
memcg->scan_nodes = node_states[N_MEMORY];
|
||||||
|
|
||||||
for_each_node_mask(nid, node_states[N_HIGH_MEMORY]) {
|
for_each_node_mask(nid, node_states[N_MEMORY]) {
|
||||||
|
|
||||||
if (!test_mem_cgroup_node_reclaimable(memcg, nid, false))
|
if (!test_mem_cgroup_node_reclaimable(memcg, nid, false))
|
||||||
node_clear(nid, memcg->scan_nodes);
|
node_clear(nid, memcg->scan_nodes);
|
||||||
|
@ -1717,7 +1717,7 @@ static bool mem_cgroup_reclaimable(struct mem_cgroup *memcg, bool noswap)
|
||||||
/*
|
/*
|
||||||
* Check rest of nodes.
|
* Check rest of nodes.
|
||||||
*/
|
*/
|
||||||
for_each_node_state(nid, N_HIGH_MEMORY) {
|
for_each_node_state(nid, N_MEMORY) {
|
||||||
if (node_isset(nid, memcg->scan_nodes))
|
if (node_isset(nid, memcg->scan_nodes))
|
||||||
continue;
|
continue;
|
||||||
if (test_mem_cgroup_node_reclaimable(memcg, nid, noswap))
|
if (test_mem_cgroup_node_reclaimable(memcg, nid, noswap))
|
||||||
|
@ -3776,7 +3776,7 @@ static void mem_cgroup_reparent_charges(struct mem_cgroup *memcg)
|
||||||
lru_add_drain_all();
|
lru_add_drain_all();
|
||||||
drain_all_stock_sync(memcg);
|
drain_all_stock_sync(memcg);
|
||||||
mem_cgroup_start_move(memcg);
|
mem_cgroup_start_move(memcg);
|
||||||
for_each_node_state(node, N_HIGH_MEMORY) {
|
for_each_node_state(node, N_MEMORY) {
|
||||||
for (zid = 0; zid < MAX_NR_ZONES; zid++) {
|
for (zid = 0; zid < MAX_NR_ZONES; zid++) {
|
||||||
enum lru_list lru;
|
enum lru_list lru;
|
||||||
for_each_lru(lru) {
|
for_each_lru(lru) {
|
||||||
|
@ -4122,7 +4122,7 @@ static int memcg_numa_stat_show(struct cgroup *cont, struct cftype *cft,
|
||||||
|
|
||||||
total_nr = mem_cgroup_nr_lru_pages(memcg, LRU_ALL);
|
total_nr = mem_cgroup_nr_lru_pages(memcg, LRU_ALL);
|
||||||
seq_printf(m, "total=%lu", total_nr);
|
seq_printf(m, "total=%lu", total_nr);
|
||||||
for_each_node_state(nid, N_HIGH_MEMORY) {
|
for_each_node_state(nid, N_MEMORY) {
|
||||||
node_nr = mem_cgroup_node_nr_lru_pages(memcg, nid, LRU_ALL);
|
node_nr = mem_cgroup_node_nr_lru_pages(memcg, nid, LRU_ALL);
|
||||||
seq_printf(m, " N%d=%lu", nid, node_nr);
|
seq_printf(m, " N%d=%lu", nid, node_nr);
|
||||||
}
|
}
|
||||||
|
@ -4130,7 +4130,7 @@ static int memcg_numa_stat_show(struct cgroup *cont, struct cftype *cft,
|
||||||
|
|
||||||
file_nr = mem_cgroup_nr_lru_pages(memcg, LRU_ALL_FILE);
|
file_nr = mem_cgroup_nr_lru_pages(memcg, LRU_ALL_FILE);
|
||||||
seq_printf(m, "file=%lu", file_nr);
|
seq_printf(m, "file=%lu", file_nr);
|
||||||
for_each_node_state(nid, N_HIGH_MEMORY) {
|
for_each_node_state(nid, N_MEMORY) {
|
||||||
node_nr = mem_cgroup_node_nr_lru_pages(memcg, nid,
|
node_nr = mem_cgroup_node_nr_lru_pages(memcg, nid,
|
||||||
LRU_ALL_FILE);
|
LRU_ALL_FILE);
|
||||||
seq_printf(m, " N%d=%lu", nid, node_nr);
|
seq_printf(m, " N%d=%lu", nid, node_nr);
|
||||||
|
@ -4139,7 +4139,7 @@ static int memcg_numa_stat_show(struct cgroup *cont, struct cftype *cft,
|
||||||
|
|
||||||
anon_nr = mem_cgroup_nr_lru_pages(memcg, LRU_ALL_ANON);
|
anon_nr = mem_cgroup_nr_lru_pages(memcg, LRU_ALL_ANON);
|
||||||
seq_printf(m, "anon=%lu", anon_nr);
|
seq_printf(m, "anon=%lu", anon_nr);
|
||||||
for_each_node_state(nid, N_HIGH_MEMORY) {
|
for_each_node_state(nid, N_MEMORY) {
|
||||||
node_nr = mem_cgroup_node_nr_lru_pages(memcg, nid,
|
node_nr = mem_cgroup_node_nr_lru_pages(memcg, nid,
|
||||||
LRU_ALL_ANON);
|
LRU_ALL_ANON);
|
||||||
seq_printf(m, " N%d=%lu", nid, node_nr);
|
seq_printf(m, " N%d=%lu", nid, node_nr);
|
||||||
|
@ -4148,7 +4148,7 @@ static int memcg_numa_stat_show(struct cgroup *cont, struct cftype *cft,
|
||||||
|
|
||||||
unevictable_nr = mem_cgroup_nr_lru_pages(memcg, BIT(LRU_UNEVICTABLE));
|
unevictable_nr = mem_cgroup_nr_lru_pages(memcg, BIT(LRU_UNEVICTABLE));
|
||||||
seq_printf(m, "unevictable=%lu", unevictable_nr);
|
seq_printf(m, "unevictable=%lu", unevictable_nr);
|
||||||
for_each_node_state(nid, N_HIGH_MEMORY) {
|
for_each_node_state(nid, N_MEMORY) {
|
||||||
node_nr = mem_cgroup_node_nr_lru_pages(memcg, nid,
|
node_nr = mem_cgroup_node_nr_lru_pages(memcg, nid,
|
||||||
BIT(LRU_UNEVICTABLE));
|
BIT(LRU_UNEVICTABLE));
|
||||||
seq_printf(m, " N%d=%lu", nid, node_nr);
|
seq_printf(m, " N%d=%lu", nid, node_nr);
|
||||||
|
|
|
@ -274,7 +274,7 @@ void __init page_cgroup_init(void)
|
||||||
if (mem_cgroup_disabled())
|
if (mem_cgroup_disabled())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
for_each_node_state(nid, N_HIGH_MEMORY) {
|
for_each_node_state(nid, N_MEMORY) {
|
||||||
unsigned long start_pfn, end_pfn;
|
unsigned long start_pfn, end_pfn;
|
||||||
|
|
||||||
start_pfn = node_start_pfn(nid);
|
start_pfn = node_start_pfn(nid);
|
||||||
|
|
Reference in New Issue