>From f75aa716b3918989876d61863a8f03aff221405f Mon Sep 17 00:00:00 2001
From: Ira K. Weiny <[EMAIL PROTECTED]>
Date: Tue, 6 Nov 2007 18:34:28 -0800
Subject: [PATCH] Maintain a name of the node in the monitored node structure 
for log messages.


Signed-off-by: Ira K. Weiny <[EMAIL PROTECTED]>
---
 opensm/include/opensm/osm_perfmgr.h |    1 +
 opensm/opensm/osm_perfmgr.c         |   14 +++++++++-----
 2 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/opensm/include/opensm/osm_perfmgr.h 
b/opensm/include/opensm/osm_perfmgr.h
index 89d4fd8..0dd3ce4 100644
--- a/opensm/include/opensm/osm_perfmgr.h
+++ b/opensm/include/opensm/osm_perfmgr.h
@@ -101,6 +101,7 @@ typedef struct _monitored_node {
        cl_map_item_t map_item;
        struct _monitored_node *next;
        uint64_t guid;
+       char *name;
        uint32_t redir_tbl_size;
        redir_t redir_port[1];  /* redirection on a per port basis */
 } __monitored_node_t;
diff --git a/opensm/opensm/osm_perfmgr.c b/opensm/opensm/osm_perfmgr.c
index 89fe7a5..d78d747 100644
--- a/opensm/opensm/osm_perfmgr.c
+++ b/opensm/opensm/osm_perfmgr.c
@@ -147,6 +147,9 @@ static inline void __remove_marked_nodes(osm_perfmgr_t * pm)
 
                cl_qmap_remove_item(&(pm->monitored_map),
                                    (cl_map_item_t *) (pm->remove_list));
+
+               if (pm->remove_list->name)
+                       free(pm->remove_list->name);
                free(pm->remove_list);
                pm->remove_list = next;
        }
@@ -440,12 +443,13 @@ static void __collect_guids(cl_map_item_t * const 
p_map_item, void *context)
                mon_node = malloc(sizeof(*mon_node) + sizeof(redir_t) * size);
                if (!mon_node) {
                        osm_log(pm->log, OSM_LOG_ERROR,
-                               "PerfMgr: __collect_guids ERR 4C06: malloc 
failed so not handling node GUID 0x%"
-                               PRIx64 "\n", node_guid);
+                               "PerfMgr: __collect_guids ERR 4C06: malloc 
failed: not handling node %s"
+                               "(GUID 0x%" PRIx64 ")\n", node->print_desc, 
node_guid);
                        goto Exit;
                }
                memset(mon_node, 0, sizeof(*mon_node) + sizeof(redir_t) * size);
                mon_node->guid = node_guid;
+               mon_node->name = strdup(node->print_desc);
                mon_node->redir_tbl_size = size + 1;
                cl_qmap_insert(&(pm->monitored_map), node_guid,
                               (cl_map_item_t *) mon_node);
@@ -477,10 +481,10 @@ __osm_perfmgr_query_counters(cl_map_item_t * const 
p_map_item, void *context)
        node = osm_get_node_by_guid(pm->subn, cl_hton64(mon_node->guid));
        if (!node) {
                osm_log(pm->log, OSM_LOG_ERROR,
-                       "__osm_perfmgr_query_counters: ERR 4C07: Node guid 0x%"
+                       "__osm_perfmgr_query_counters: ERR 4C07: Node \"%s\" 
(guid 0x%"
                        PRIx64
-                       " no longer exists so removing from PerfMgr 
monitoring\n",
-                       mon_node->guid);
+                       ") no longer exists so removing from PerfMgr 
monitoring\n",
+                       mon_node->name, mon_node->guid);
                __mark_for_removal(pm, mon_node);
                goto Exit;
        }
-- 
1.5.1

Attachment: 0002-Maintain-a-name-of-the-node-in-the-monitored-node-st.patch
Description: Binary data

_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to