Options to the library are now set before the library is initialized.
Thus, verbose and debug options can be used also during
initialization.

Signed-off-by: Robert Richter <robert.rich...@amd.com>
---
 pfmon/pfmon.c |   24 +++++++++++-------------
 1 files changed, 11 insertions(+), 13 deletions(-)

diff --git a/pfmon/pfmon.c b/pfmon/pfmon.c
index 6a92814..dde3d6e 100644
--- a/pfmon/pfmon.c
+++ b/pfmon/pfmon.c
@@ -1354,6 +1354,7 @@ setup_common_signals(void)
 static void
 pfmon_initialize(void)
 {
+       pfmlib_options_t        pfmlib_options;
        uint64_t long_val;
        pfmlib_event_t e;
        struct timespec ts;
@@ -1387,6 +1388,16 @@ pfmon_initialize(void)
 
        setup_common_signals();
 
+       /*
+        * propagate debug/verbose options to library
+        */
+       memset(&pfmlib_options, 0, sizeof(pfmlib_options));
+       if (options.opt_debug)
+               pfmlib_options.pfm_debug   = 1;
+       if (options.opt_verbose)
+               pfmlib_options.pfm_verbose = 1;
+       pfm_set_options(&pfmlib_options);
+
        if (pfm_initialize() != PFMLIB_SUCCESS) 
                fatal_error("cannot initialize library. Most likely host PMU is 
not supported.\n");
 
@@ -1861,7 +1872,6 @@ pfmon_convert_dfl_set(void)
 int
 main(int argc, char **argv)
 {
-       pfmlib_options_t        pfmlib_options;
        char                    *endptr = NULL;
        pfmon_smpl_module_t     *smpl_mod = NULL;
        unsigned long           long_val;
@@ -1869,8 +1879,6 @@ main(int argc, char **argv)
        int                     c, r, ret;
        int                     using_def_set = 1;
 
-       memset(&pfmlib_options, 0, sizeof(pfmlib_options));
-
        options.argv    = argv;
 
        while ((c=getopt_long(argc, argv,"+0123kuvhe:Il::L::i:Vt:S:p:", 
pfmon_cmd_options, 0)) != -1) {
@@ -2206,16 +2214,6 @@ main(int argc, char **argv)
 
        pfmon_setup_smpl_rates();
 
-       /*
-        * propagate debug/verbose options to library
-        */
-       if (options.opt_debug)
-               pfmlib_options.pfm_debug   = 1;
-       if (options.opt_verbose)
-               pfmlib_options.pfm_verbose = 1;
-
-       pfm_set_options(&pfmlib_options);
-
        /* used in sampling output header */
        options.argv    = argv;
        options.command = argv+optind;
-- 
1.6.1.2



------------------------------------------------------------------------------
_______________________________________________
perfmon2-devel mailing list
perfmon2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/perfmon2-devel

Reply via email to