From 455a946f40c0f9d158f0494cec043f6e028848d7 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 27 Jul 2011 21:47:25 +0200 Subject: [PATCH] selinux: also profile memory usage --- src/label.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/label.c b/src/label.c index 5157b790..b7bb0332 100644 --- a/src/label.c +++ b/src/label.c @@ -22,6 +22,7 @@ #include #include #include +#include #include "label.h" #include "util.h" @@ -48,6 +49,7 @@ int label_init(void) { #ifdef HAVE_SELINUX usec_t n; + struct mallinfo before; if (!use_selinux()) return 0; @@ -55,7 +57,9 @@ int label_init(void) { if (label_hnd) return 0; + before = mallinfo(); n = now(CLOCK_MONOTONIC); + label_hnd = selabel_open(SELABEL_CTX_FILE, NULL, 0); if (!label_hnd) { log_full(security_getenforce() == 1 ? LOG_ERR : LOG_DEBUG, @@ -63,12 +67,18 @@ int label_init(void) { r = security_getenforce() == 1 ? -errno : 0; } else { char buf[FORMAT_TIMESPAN_MAX]; + struct mallinfo after; + int l; n = now(CLOCK_MONOTONIC) - n; - log_info("Successfully loaded SELinux database in %s.", - format_timespan(buf, sizeof(buf), n)); - } + after = mallinfo(); + l = after.uordblks > before.uordblks ? after.uordblks - before.uordblks : 0; + + log_info("Successfully loaded SELinux database in %s, size on heap is %iK.", + format_timespan(buf, sizeof(buf), n), + l/1024); + } #endif return r; -- 2.39.5