Re: [V5 PATCH 08/26] memcontrol: use N_MEMORY instead N_HIGH_MEMORY

From: Michal Hocko
Date: Mon Oct 29 2012 - 12:22:07 EST


On Mon 29-10-12 23:20:58, Lai Jiangshan wrote:
> N_HIGH_MEMORY stands for the nodes that has normal or high memory.
> N_MEMORY stands for the nodes that has any memory.

What is the difference of those two?

> The code here need to handle with the nodes which have memory, we should
> use N_MEMORY instead.
>
> Signed-off-by: Lai Jiangshan <laijs@xxxxxxxxxxxxxx>
> ---
> mm/memcontrol.c | 18 +++++++++---------
> mm/page_cgroup.c | 2 +-
> 2 files changed, 10 insertions(+), 10 deletions(-)
>
> diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> index 7acf43b..1b69665 100644
> --- a/mm/memcontrol.c
> +++ b/mm/memcontrol.c
> @@ -800,7 +800,7 @@ static unsigned long mem_cgroup_nr_lru_pages(struct mem_cgroup *memcg,
> int nid;
> 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);
> return total;
> }
> @@ -1611,9 +1611,9 @@ static void mem_cgroup_may_update_nodemask(struct mem_cgroup *memcg)
> return;
>
> /* 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))
> node_clear(nid, memcg->scan_nodes);
> @@ -1684,7 +1684,7 @@ static bool mem_cgroup_reclaimable(struct mem_cgroup *memcg, bool noswap)
> /*
> * 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))
> continue;
> if (test_mem_cgroup_node_reclaimable(memcg, nid, noswap))
> @@ -3759,7 +3759,7 @@ move_account:
> drain_all_stock_sync(memcg);
> ret = 0;
> mem_cgroup_start_move(memcg);
> - for_each_node_state(node, N_HIGH_MEMORY) {
> + for_each_node_state(node, N_MEMORY) {
> for (zid = 0; !ret && zid < MAX_NR_ZONES; zid++) {
> enum lru_list lru;
> for_each_lru(lru) {
> @@ -4087,7 +4087,7 @@ static int memcg_numa_stat_show(struct cgroup *cont, struct cftype *cft,
>
> total_nr = mem_cgroup_nr_lru_pages(memcg, LRU_ALL);
> 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);
> seq_printf(m, " N%d=%lu", nid, node_nr);
> }
> @@ -4095,7 +4095,7 @@ static int memcg_numa_stat_show(struct cgroup *cont, struct cftype *cft,
>
> file_nr = mem_cgroup_nr_lru_pages(memcg, LRU_ALL_FILE);
> 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,
> LRU_ALL_FILE);
> seq_printf(m, " N%d=%lu", nid, node_nr);
> @@ -4104,7 +4104,7 @@ static int memcg_numa_stat_show(struct cgroup *cont, struct cftype *cft,
>
> anon_nr = mem_cgroup_nr_lru_pages(memcg, LRU_ALL_ANON);
> 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,
> LRU_ALL_ANON);
> seq_printf(m, " N%d=%lu", nid, node_nr);
> @@ -4113,7 +4113,7 @@ static int memcg_numa_stat_show(struct cgroup *cont, struct cftype *cft,
>
> unevictable_nr = mem_cgroup_nr_lru_pages(memcg, BIT(LRU_UNEVICTABLE));
> 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,
> BIT(LRU_UNEVICTABLE));
> seq_printf(m, " N%d=%lu", nid, node_nr);
> diff --git a/mm/page_cgroup.c b/mm/page_cgroup.c
> index 5ddad0c..c1054ad 100644
> --- a/mm/page_cgroup.c
> +++ b/mm/page_cgroup.c
> @@ -271,7 +271,7 @@ void __init page_cgroup_init(void)
> if (mem_cgroup_disabled())
> return;
>
> - for_each_node_state(nid, N_HIGH_MEMORY) {
> + for_each_node_state(nid, N_MEMORY) {
> unsigned long start_pfn, end_pfn;
>
> start_pfn = node_start_pfn(nid);
> --
> 1.7.4.4
>

--
Michal Hocko
SUSE Labs
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/