From b278033a7e4632a414502b63ba51fcce36f44f94 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Fri, 20 Mar 2009 16:35:06 -0700 Subject: Cache the tracepoint query results To use tracepoints, we build a "tracequery" module that compiles debuginfo for all available tracepoints in the user's kernel. That's a bit of a cumbersome step to do during pass-2 though. This change adds tracequery caching so we only need to compile it once. --- hash.h | 1 + 1 file changed, 1 insertion(+) (limited to 'hash.h') diff --git a/hash.h b/hash.h index d386ad03..0fe95e27 100644 --- a/hash.h +++ b/hash.h @@ -35,5 +35,6 @@ public: }; void find_hash (systemtap_session& s, const std::string& script); +void find_tracequery_hash (systemtap_session& s); /* vim: set sw=2 ts=8 cino=>4,n-2,{2,^-2,t0,(0,u0,w1,M1 : */ -- cgit From 2a8c27f6bfdf2e7962def6fc8729ebb5fb54c701 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Wed, 25 Mar 2009 15:47:21 -0700 Subject: Add more file stats to the hash For kernel developers, it may be common practice to reuse the same kernel build tree for several kernel variants. Our previous hashing only considered the release version, architecture, and build path, which may all remain constant for such a developer. This change adds the file size and mtime of several kernel version files to the hash, so it should be a bit more robust against collisions. --- hash.h | 1 + 1 file changed, 1 insertion(+) (limited to 'hash.h') diff --git a/hash.h b/hash.h index 0fe95e27..bb3d5ae1 100644 --- a/hash.h +++ b/hash.h @@ -30,6 +30,7 @@ public: void add(const char *s) { add((const unsigned char *)s, strlen(s)); } void add(const std::string& s) { add((const unsigned char *)s.c_str(), s.length()); } + void add_file(const std::string& filename); void result(std::string& r); }; -- cgit From 1f329b5e2af4710a254e252529e8eee2fab4fd67 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Mon, 20 Apr 2009 16:41:52 -0700 Subject: Add a function to hash typequery modules --- hash.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'hash.h') diff --git a/hash.h b/hash.h index bb3d5ae1..7e432216 100644 --- a/hash.h +++ b/hash.h @@ -37,5 +37,7 @@ public: void find_hash (systemtap_session& s, const std::string& script); void find_tracequery_hash (systemtap_session& s); +void find_typequery_hash (systemtap_session& s, const std::string& name, + std::string& module); /* vim: set sw=2 ts=8 cino=>4,n-2,{2,^-2,t0,(0,u0,w1,M1 : */ -- cgit