]> sourceware.org Git - systemtap.git/commitdiff
kernel tracepoints: bring up-to-date for 3.11
authorFrank Ch. Eigler <fche@redhat.com>
Mon, 16 Dec 2013 18:38:39 +0000 (13:38 -0500)
committerFrank Ch. Eigler <fche@redhat.com>
Mon, 16 Dec 2013 18:42:12 +0000 (13:42 -0500)
Added a whole bunch of other hidey-spots where kernel tracepoint
DEFINE_EVENT's were plopped in recent kernels, along with a few
incomplete-definition type workarounds.

scripts/tracepoint-diff
tapsets.cxx

index daa67ea1b9638a03d4ef485e90e4838a25060780..daf558e89c494c0c63cd3c437c38ef189032fe05 100644 (file)
@@ -23,7 +23,8 @@ ${PERF-perf} list | grep Tracepoint | egrep -v 'sys_(enter|exit)_' |
      cut -f2 -d':' | awk '{print $1}' | sort > $tmp/perf
 
 echo gathering systemtap tracepoint list
-${STAP-stap} -L 'kernel.trace("*")' | cut -f2 -d'"' | sort > $tmp/stap
+${STAP-stap} --poison-cache -L 'kernel.trace("*")' | cut -f2 -d'"' | sort > $tmp/stap
 
-echo diff '<perf' vs. '>stap' tracepoints
-comm -3 $tmp/perf $tmp/stap
+echo listing tracepoints missing in stap
+echo
+comm ${COMM--23} $tmp/perf $tmp/stap
index b3cfa0e21bdc4da8d4c36c8ac94c9259c8ade441..4b2fdacfb9a34cf5a67be30a01a36a8f49704b9e 100644 (file)
@@ -9846,9 +9846,50 @@ static vector<string> tracepoint_extra_decls (systemtap_session& s, const string
     if (s.kernel_source_tree != "")
       they_live.push_back ("#include \"fs/ext4/ext4.h\""); // in kernel-source tree
 
-  if (header.find("ext3") != string::npos && s.kernel_config["CONFIG_EXT3_FS"] != string(""))
+  if (header.find("ext3") != string::npos)
     they_live.push_back ("struct ext3_reserve_window_node;");
 
+  if (header.find("workqueue") != string::npos)
+    {
+      they_live.push_back ("struct pool_workqueue;");
+      they_live.push_back ("struct work_struct;");
+    }
+
+  if (header.find("asoc") != string::npos)
+    they_live.push_back ("struct snd_soc_dapm_path;");
+
+  if (header.find("9p") != string::npos)
+    {
+      they_live.push_back ("struct p9_client;");
+      they_live.push_back ("struct p9_fcall;");
+    }
+
+  if (header.find("bcache") != string::npos)
+    {
+      they_live.push_back ("struct bkey;");
+      they_live.push_back ("struct btree;");
+      they_live.push_back ("struct cache_set;");
+      they_live.push_back ("struct cache;");
+    }
+
+  if (header.find("f2fs") != string::npos)
+    {
+      // cannot get fs/f2fs/f2fs.h #included
+      they_live.push_back ("typedef u32 block_t;");
+      they_live.push_back ("typedef u32 nid_t;");
+    }
+
+  if (header.find("radeon") != string::npos)
+    they_live.push_back ("struct radeon_bo;");
+
+  // argh, 3.11, i915_trace.h -> i915_drv.h -> i915_reg.h without -I
+  // also brcms_trace_events.h -> ... -> "types.h"
+  // XXX: need a way to add a temporary -I flag
+
+  if (header.find("/ath/") != string::npos)
+    they_live.push_back ("struct ath5k_hw;");
+
+
   return they_live;
 }
 
@@ -10382,10 +10423,21 @@ tracepoint_builder::init_dw(systemtap_session& s)
   vector<string> glob_suffixes;
   glob_suffixes.push_back("include/trace/events/*.h");
   glob_suffixes.push_back("include/trace/*.h");
+  glob_suffixes.push_back("include/ras/*_event.h");
   glob_suffixes.push_back("arch/x86/kvm/*trace.h");
-  glob_suffixes.push_back("arch/x86/include/asm/trace/*.h");
+  glob_suffixes.push_back("arch/x86/kernel/*trace.h");
+  glob_suffixes.push_back("arch/*/include/asm/trace*.h");
+  glob_suffixes.push_back("arch/*/include/asm/trace/*.h");
   glob_suffixes.push_back("fs/xfs/linux-*/xfs_tr*.h");
-  glob_suffixes.push_back("fs/xfs/xfs_trace*.h");
+  glob_suffixes.push_back("fs/*/*trace*.h");
+  glob_suffixes.push_back("net/*/*trace*.h");
+  glob_suffixes.push_back("sound/pci/hda/*_trace.h");
+  glob_suffixes.push_back("drivers/gpu/drm/*_trace.h");
+  glob_suffixes.push_back("drivers/gpu/drm/*/*_trace.h");
+  glob_suffixes.push_back("drivers/net/wireless/*/*/*trace*.h");
+  glob_suffixes.push_back("drivers/usb/host/*trace*.h");
+
+  // see also tracepoint_extra_decls above
 
   // compute cartesian product
   vector<string> globs;
This page took 0.051547 seconds and 5 git commands to generate.