From: Aurelien Reynaud <colle...@wattapower.net>
Signed-off-by: Aurelien Reynaud <colle...@wattapower.net> --- configure.in | 6 ++++++ src/lpar.c | 6 ++++++ 2 files changed, 12 insertions(+), 0 deletions(-) diff --git a/configure.in b/configure.in index fcbd57c..5abca73 100644 --- a/configure.in +++ b/configure.in @@ -1193,6 +1193,12 @@ fi if test "x$with_perfstat" = "xyes" then AC_DEFINE(HAVE_PERFSTAT, 1, [Define to 1 if you have the 'perfstat' library (-lperfstat)]) + # struct members pertaining to donation have been added to libperfstat somewhere between AIX5.3ML5 and AIX5.3ML9 + AC_CHECK_MEMBER([perfstat_partition_type_t.b.donate_enabled], [], [], [[#include <libperfstat.h]]) + if test "x$av_cv_member_perfstat_partition_type_t_b_donate_enabled" = "xyes" + then + AC_DEFINE(PERFSTAT_SUPPORTS_DONATION, 1, [Define to 1 if your version of the 'perfstat' library supports donation]) + fi fi AM_CONDITIONAL(BUILD_WITH_PERFSTAT, test "x$with_perfstat" = "xyes") diff --git a/src/lpar.c b/src/lpar.c index 146aaf2..b9471fb 100644 --- a/src/lpar.c +++ b/src/lpar.c @@ -45,7 +45,9 @@ static int config_keys_num = STATIC_ARRAY_SIZE (config_keys); static _Bool pool_stats = 0; static _Bool report_by_serial = 0; +#if PERFSTAT_SUPPORTS_DONATION static _Bool donate_flag = 0; +#endif static char serial[SYS_NMLN]; static perfstat_partition_total_t lparstats_old; @@ -91,11 +93,13 @@ static int lpar_init (void) return (-1); } +#if PERFSTAT_SUPPORTS_DONATION if (!lparstats_old.type.b.shared_enabled && lparstats_old.type.b.donate_enabled) { donate_flag = 1; } +#endif if (pool_stats && !lparstats_old.type.b.pool_util_authority) { @@ -202,6 +206,7 @@ static int lpar_read (void) lpar_submit ("wait", (double) wait_ticks / (double) ticks); lpar_submit ("idle", (double) idle_ticks / (double) ticks); +#if PERFSTAT_SUPPORTS_DONATION if (donate_flag) { /* donated => ticks given to another partition @@ -224,6 +229,7 @@ static int lpar_read (void) /* Donated ticks will be accounted for as stolen ticks in other LPARs */ consumed_ticks += idle_stolen_ticks + busy_stolen_ticks; } +#endif lpar_submit ("consumed", (double) consumed_ticks / (double) ticks); -- 1.7.2.2 _______________________________________________ collectd mailing list collectd@verplant.org http://mailman.verplant.org/listinfo/collectd