I do agree that we should share global and memcg specific events constants but I am not sure we want to share all of them. Would it make sense to reorganize the global enum and put those that are shared to the beginning? We wouldn't need the memcg specific translation then. Anyway, two comments on the current implementation. On Tue 04-04-17 18:01:46, Johannes Weiner wrote: [...] > +/* Cgroup-specific events, on top of universal VM events */ > +enum memcg_event_item { > + MEMCG_LOW = NR_VM_EVENT_ITEMS, > + MEMCG_HIGH, > + MEMCG_MAX, > + MEMCG_OOM, > + MEMCG_NR_EVENTS, > +}; The above should mention that each supported global VM event should provide the corresponding translation [...] here... > +/* Universal VM events cgroup1 shows, original sort order */ > +unsigned int memcg1_events[] = { > + PGPGIN, > + PGPGOUT, > + PGFAULT, > + PGMAJFAULT, > +}; > + > +static const char *const memcg1_event_names[] = { > + "pgpgin", > + "pgpgout", > + "pgfault", > + "pgmajfault", > +}; the naming doesn't make it easier to undestand why we need this. global2memcg_event? -- Michal Hocko SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>