This patch creates a new function get_dsoname() and move the
code which gets the dsoname string to this function.

That's because in next patch, when we process LBR data, we will
also need get_dsoname() to return dsoname for branch from/to.

Signed-off-by: Jin Yao <yao....@linux.intel.com>
---
 .../util/scripting-engines/trace-event-python.c    | 23 ++++++++++++++--------
 1 file changed, 15 insertions(+), 8 deletions(-)

diff --git a/tools/perf/util/scripting-engines/trace-event-python.c 
b/tools/perf/util/scripting-engines/trace-event-python.c
index 7f8afac..f863e96 100644
--- a/tools/perf/util/scripting-engines/trace-event-python.c
+++ b/tools/perf/util/scripting-engines/trace-event-python.c
@@ -372,6 +372,19 @@ static PyObject *get_field_numeric_entry(struct 
event_format *event,
        return obj;
 }
 
+static const char *get_dsoname(struct map *map)
+{
+       const char *dsoname = "[unknown]";
+
+       if (map && map->dso) {
+               if (symbol_conf.show_kernel_path && map->dso->long_name)
+                       dsoname = map->dso->long_name;
+               else
+                       dsoname = map->dso->name;
+       }
+
+       return dsoname;
+}
 
 static PyObject *python_process_callchain(struct perf_sample *sample,
                                         struct perf_evsel *evsel,
@@ -427,14 +440,8 @@ static PyObject *python_process_callchain(struct 
perf_sample *sample,
                }
 
                if (node->map) {
-                       struct map *map = node->map;
-                       const char *dsoname = "[unknown]";
-                       if (map && map->dso) {
-                               if (symbol_conf.show_kernel_path && 
map->dso->long_name)
-                                       dsoname = map->dso->long_name;
-                               else
-                                       dsoname = map->dso->name;
-                       }
+                       const char *dsoname = get_dsoname(node->map);
+
                        pydict_set_item_string_decref(pyelem, "dso",
                                        _PyUnicode_FromString(dsoname));
                }
-- 
2.7.4

Reply via email to