mem: show raw statistics in /proc

This commit is contained in:
Thomas Schoebel-Theuer 2012-11-15 14:35:02 +01:00 committed by Thomas Schoebel-Theuer
parent ea9068e992
commit 5041dd1cf4
3 changed files with 9 additions and 1 deletions

View File

@ -51,6 +51,8 @@ long long brick_global_memavail = 0;
EXPORT_SYMBOL_GPL(brick_global_memavail); EXPORT_SYMBOL_GPL(brick_global_memavail);
long long brick_global_memlimit = 0; long long brick_global_memlimit = 0;
EXPORT_SYMBOL_GPL(brick_global_memlimit); EXPORT_SYMBOL_GPL(brick_global_memlimit);
atomic64_t brick_global_block_used = ATOMIC64_INIT(0);
EXPORT_SYMBOL_GPL(brick_global_block_used);
void get_total_ram(void) void get_total_ram(void)
{ {
@ -328,6 +330,9 @@ void *__brick_block_alloc(gfp_t gfp, int order)
msleep(1000); msleep(1000);
} }
#endif #endif
atomic64_add((PAGE_SIZE/1024) << order, &brick_global_block_used);
return res; return res;
} }
@ -342,6 +347,7 @@ void __brick_block_free(void *data, int order)
#ifdef BRICK_DEBUG_MEM #ifdef BRICK_DEBUG_MEM
atomic_dec(&raw_count[order]); atomic_dec(&raw_count[order]);
#endif #endif
atomic64_sub((PAGE_SIZE/1024) << order, &brick_global_block_used);
} }
bool brick_allow_freelist = true; bool brick_allow_freelist = true;

View File

@ -9,6 +9,7 @@
extern long long brick_global_memavail; extern long long brick_global_memavail;
extern long long brick_global_memlimit; extern long long brick_global_memlimit;
extern atomic64_t brick_global_block_used;
///////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////

View File

@ -148,7 +148,8 @@ ctl_table mars_table[] = {
INT_ENTRY("syslog_min_class", brick_say_syslog_min, 0600), INT_ENTRY("syslog_min_class", brick_say_syslog_min, 0600),
INT_ENTRY("syslog_max_class", brick_say_syslog_max, 0600), INT_ENTRY("syslog_max_class", brick_say_syslog_max, 0600),
INT_ENTRY("percent_mem_limit_kb", mars_mem_percent, 0600), INT_ENTRY("percent_mem_limit_kb", mars_mem_percent, 0600),
INT_ENTRY("mem_used_kb", trans_logger_mem_usage, 0400), INT_ENTRY("logger_mem_used_kb", trans_logger_mem_usage, 0400),
INT_ENTRY("raw_mem_used_kb", brick_global_block_used,0400),
INT_ENTRY("logrot_auto_gb", global_logrot_auto, 0600), INT_ENTRY("logrot_auto_gb", global_logrot_auto, 0600),
INT_ENTRY("logdel_auto_gb", global_logdel_auto, 0600), INT_ENTRY("logdel_auto_gb", global_logdel_auto, 0600),
INT_ENTRY("free_space_mb", global_free_space, 0600), INT_ENTRY("free_space_mb", global_free_space, 0600),