mm/migrate: correct failure handling if !hugepage_migration_support()
[firefly-linux-kernel-4.4.55.git] / tools / perf / builtin-kvm.c
index d9cc0e3f284f071f3a1a6d88ef06a632415433e7..a7350519c63f528cfb627d736867742b57b1a2e8 100644 (file)
@@ -13,7 +13,7 @@
 #include "util/parse-options.h"
 #include "util/trace-event.h"
 #include "util/debug.h"
-#include <lk/debugfs.h>
+#include <api/fs/debugfs.h>
 #include "util/tool.h"
 #include "util/stat.h"
 #include "util/top.h"
@@ -89,7 +89,7 @@ struct exit_reasons_table {
 
 struct perf_kvm_stat {
        struct perf_tool    tool;
-       struct perf_record_opts opts;
+       struct record_opts  opts;
        struct perf_evlist  *evlist;
        struct perf_session *session;
 
@@ -1158,9 +1158,7 @@ out:
        if (kvm->timerfd >= 0)
                close(kvm->timerfd);
 
-       if (pollfds)
-               free(pollfds);
-
+       free(pollfds);
        return err;
 }
 
@@ -1176,7 +1174,7 @@ static int kvm_live_open_events(struct perf_kvm_stat *kvm)
         * Note: exclude_{guest,host} do not apply here.
         *       This command processes KVM tracepoints from host only
         */
-       list_for_each_entry(pos, &evlist->entries, node) {
+       evlist__for_each(evlist, pos) {
                struct perf_event_attr *attr = &pos->attr;
 
                /* make sure these *are* set */
@@ -1232,7 +1230,7 @@ static int read_events(struct perf_kvm_stat *kvm)
                .ordered_samples        = true,
        };
        struct perf_data_file file = {
-               .path = input_name,
+               .path = kvm->file_name,
                .mode = PERF_DATA_MODE_READ,
        };
 
@@ -1558,10 +1556,8 @@ out:
        if (kvm->session)
                perf_session__delete(kvm->session);
        kvm->session = NULL;
-       if (kvm->evlist) {
-               perf_evlist__delete_maps(kvm->evlist);
+       if (kvm->evlist)
                perf_evlist__delete(kvm->evlist);
-       }
 
        return err;
 }
@@ -1713,12 +1709,7 @@ int cmd_kvm(int argc, const char **argv, const char *prefix __maybe_unused)
                perf_guest = 1;
 
        if (!file_name) {
-               if (perf_host && !perf_guest)
-                       file_name = strdup("perf.data.host");
-               else if (!perf_host && perf_guest)
-                       file_name = strdup("perf.data.guest");
-               else
-                       file_name = strdup("perf.data.kvm");
+               file_name = get_filename_for_perf_kvm();
 
                if (!file_name) {
                        pr_err("Failed to allocate memory for filename\n");