From: Lennart Poettering Date: Wed, 27 Jul 2011 19:47:25 +0000 (+0200) Subject: selinux: also profile memory usage X-Git-Tag: v31~1 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=455a946f40c0f9d158f0494cec043f6e028848d7;p=systemd selinux: also profile memory usage --- 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;