summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSalvatore Sanfilippo <antirez@gmail.com>2018-06-19 17:22:36 +0200
committerGitHub <noreply@github.com>2018-06-19 17:22:36 +0200
commitc6fdebf533042e30cbe54a41f744b8a674a10dc3 (patch)
tree60740405925f44d0a040cc4be32aec0496bf9404
parent4da296307cd63d7d776f881199d26036ea44211c (diff)
parent482785ac62aab0bcaf53eb7eb6f7e005629ff0fa (diff)
downloadredis-c6fdebf533042e30cbe54a41f744b8a674a10dc3.tar.gz
Merge pull request #5042 from oranagra/malloc_usable_size_libc
add malloc_usable_size for libc malloc
-rw-r--r--src/server.h6
-rw-r--r--src/zmalloc.h5
2 files changed, 8 insertions, 3 deletions
diff --git a/src/server.h b/src/server.h
index e3bba8ace..f7aff36b1 100644
--- a/src/server.h
+++ b/src/server.h
@@ -882,13 +882,13 @@ typedef struct rdbSaveInfo {
#define RDB_SAVE_INFO_INIT {-1,0,"000000000000000000000000000000",-1}
-typedef struct malloc_stats {
+struct malloc_stats {
size_t zmalloc_used;
size_t process_rss;
size_t allocator_allocated;
size_t allocator_active;
size_t allocator_resident;
-} malloc_stats;
+};
/*-----------------------------------------------------------------------------
* Global server state
@@ -995,7 +995,7 @@ struct redisServer {
long long slowlog_entry_id; /* SLOWLOG current entry ID */
long long slowlog_log_slower_than; /* SLOWLOG time limit (to get logged) */
unsigned long slowlog_max_len; /* SLOWLOG max number of items logged */
- malloc_stats cron_malloc_stats; /* sampled in serverCron(). */
+ struct malloc_stats cron_malloc_stats; /* sampled in serverCron(). */
long long stat_net_input_bytes; /* Bytes read from network. */
long long stat_net_output_bytes; /* Bytes written to network. */
size_t stat_rdb_cow_bytes; /* Copy on write bytes during RDB saving. */
diff --git a/src/zmalloc.h b/src/zmalloc.h
index 3c926bcbe..49b33b883 100644
--- a/src/zmalloc.h
+++ b/src/zmalloc.h
@@ -63,6 +63,11 @@
#ifndef ZMALLOC_LIB
#define ZMALLOC_LIB "libc"
+#ifdef __GLIBC__
+#include <malloc.h>
+#define HAVE_MALLOC_SIZE 1
+#define zmalloc_size(p) malloc_usable_size(p)
+#endif
#endif
/* We can enable the Redis defrag capabilities only if we are using Jemalloc