On (23/02/09 21:15), Yosry Ahmed wrote: > > > > I can get rid of static const arrays and pass "begin / end" group IDs to > > > > functions that iterate fullness lists and pick the first head page, but > > > > I think that enum values will stay. > > > > > > Do they have to stay for a technical reason or just to make reviews simpler? > > > > We need to be able to do zs_stat_get(class, CLASS_USAGE_70) or > > zs_stat_get(class, CLASS_USAGE_10) in zs_stats_size_show() to > > show class's fullness stats. > > If we use #define FULLNESS_GROUPS 10 for example, we can break down > struct zs_size_stat from a single array to two arrays, one of the for > fullness groups and the other one for the rest of the stats (e.g. > OBJ_USED). We can have different helpers to update each, the former > taking in a fullness value (0 to FULLNESS_GROUPS-1), and the latter an > enum. WDYT? You don't like them enums ;) Yeah, this probably can work. I'll take a look for v2.