if (prev_class) { if (can_merge(prev_class, pages_per_zspage, objs_per_zspage)) { pool->size_class[i] = prev_class; continue; } }
This is an algorithmic policy. A zs_pool
maintains zs_page
s of different size_class
. However, some size_class
es share exactly same characteristics, namely pages_per_zspage
and objs_per_zspage
. Recall the other annotation of mine, it searched free zspage
s by size_class
: zspage = find_get_zspage(class);
. Thus, grouping different classes improves memory utilization.