On Thu, May 18, 2017 at 11:06:37AM +0200, Michal Hocko wrote: >On Wed 17-05-17 22:11:40, Wei Yang wrote: >> This patch serial could be divided into two parts. >> >> First three patches refine and adds slab sysfs. >> Second three patches rename slab sysfs. >> >> 1. Refine slab sysfs >> >> There are four level slabs: >> >> CPU >> CPU_PARTIAL >> PARTIAL >> FULL >> >> And in sysfs, it use show_slab_objects() and cpu_partial_slabs_show() to >> reflect the statistics. >> >> In patch 2, it splits some function in show_slab_objects() which makes sure >> only cpu_partial_slabs_show() covers statistics for CPU_PARTIAL slabs. >> >> After doing so, it would be more clear that show_slab_objects() has totally 9 >> statistic combinations for three level of slabs. Each slab has three cases >> statistic. >> >> slabs >> objects >> total_objects >> >> And when we look at current implementation, some of them are missing. So patch >> 2 & 3 add them up. >> >> 2. Rename sysfs >> >> The slab statistics in sysfs are >> >> slabs >> objects >> total_objects >> cpu_slabs >> partial >> partial_objects >> cpu_partial_slabs >> >> which is a little bit hard for users to understand. The second three patches >> rename sysfs file in this pattern. >> >> xxx_slabs[[_total]_objects] >> >> Finally it looks Like >> >> slabs >> slabs_objects >> slabs_total_objects >> cpu_slabs >> cpu_slabs_objects >> cpu_slabs_total_objects >> partial_slabs >> partial_slabs_objects >> partial_slabs_total_objects >> cpu_partial_slabs > >_Why_ do we need all this? To have a clear statistics for each slab level. >-- >Michal Hocko >SUSE Labs -- Wei Yang Help you, Help me