Messages in this thread | | | Date | Wed, 14 Jan 2015 17:17:47 +0100 | From | Michal Hocko <> | Subject | Re: [patch 2/2] mm: memcontrol: default hierarchy interface for memory |
| |
I have overlooked the `none' setting...
On Thu 08-01-15 23:15:04, Johannes Weiner wrote: [...] > +static int memory_low_show(struct seq_file *m, void *v) > +{ > + struct mem_cgroup *memcg = mem_cgroup_from_css(seq_css(m)); > + unsigned long low = ACCESS_ONCE(memcg->low); > + > + if (low == 0) > + seq_printf(m, "none\n"); > + else > + seq_printf(m, "%llu\n", (u64)low * PAGE_SIZE); > + > + return 0; > +}
This is really confusing. What if somebody wants to protect a group from being reclaimed? One possible and natural way would by copying memory.max value but then `none' means something else completely.
Besides that why to call 0, which has a clear meaning, any other name?
Now that I think about the naming `none' doesn't sound that great for max resp. high either. If for nothing else then for the above copy example (who knows what shows up later). Sure, a huge number is bad as well for reasons you have mentioned in other email. `resource_max' sounds like a better fit to me. But I am lame at naming. -- Michal Hocko SUSE Labs
| |