On Wed, 27 Sep 2017, Yang Shi wrote: > Print out unreclaimable slab info (used size and total size) which > actual memory usage is not zero (num_objs * size != 0) when: > - unreclaimable slabs : all user memory > unreclaim_slabs_oom_ratio > - panic_on_oom is set or no killable process
Ok. I like this much more than the earlier releases. > diff --git a/mm/slab.h b/mm/slab.h > index 0733628..b0496d1 100644 > --- a/mm/slab.h > +++ b/mm/slab.h > @@ -505,6 +505,14 @@ static inline struct kmem_cache_node *get_node(struct > kmem_cache *s, int node) > void memcg_slab_stop(struct seq_file *m, void *p); > int memcg_slab_show(struct seq_file *m, void *p); > > +#ifdef CONFIG_SLABINFO > +void dump_unreclaimable_slab(void); > +#else > +static inline void dump_unreclaimable_slab(void) > +{ > +} > +#endif CONFIG_SLABINFO? How does this relate to the oom info? /proc/slabinfo support is optional. Oom info could be included even if CONFIG_SLABINFO goes away. Remove the #ifdef?