--- zzzz-none-000/linux-4.4.60/mm/slab.h 2017-04-08 07:53:53.000000000 +0000 +++ wasp-540e-714/linux-4.4.60/mm/slab.h 2019-07-03 09:21:34.000000000 +0000 @@ -122,6 +122,8 @@ #elif defined(CONFIG_SLUB_DEBUG) #define SLAB_DEBUG_FLAGS (SLAB_RED_ZONE | SLAB_POISON | SLAB_STORE_USER | \ SLAB_TRACE | SLAB_DEBUG_FREE) +#elif defined(CONFIG_DEBUG_SLAB_AVM_LITE) +#define SLAB_DEBUG_FLAGS (SLAB_POISON | SLAB_STORE_USER_AND_TIME) #else #define SLAB_DEBUG_FLAGS (0) #endif @@ -371,4 +373,21 @@ void slab_stop(struct seq_file *m, void *p); int memcg_slab_show(struct seq_file *m, void *p); +#if defined(CONFIG_DEBUG_SLAB_AVM_LITE) +struct _slab_avm_top_entry { + unsigned long caller; + unsigned int count; + unsigned long long sum_time; +}; +struct _slab_avm_enh_toplist { + struct _slab_avm_top_entry entry[96]; + unsigned int entries; + unsigned int ignored; /*--- not enough entries ---*/ + unsigned long sum_count; /*--- all caller-count + ignored ---*/ +}; +void debug_slab_avm_lite_toplist(struct _slab_avm_enh_toplist *ptoplist, + const struct kmem_cache *cachep, + unsigned long tresh_jiffiesdiff); +extern unsigned int flag_debug_slab_avm_lite; +#endif /*--- #if defined(CONFIG_DEBUG_SLAB_AVM_LITE) ---*/ #endif /* MM_SLAB_H */