aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Thelen <gthelen@google.com>2019-06-28 23:27:52 -0700
committerSteven Rostedt (VMware) <rostedt@goodmis.org>2019-07-05 10:20:38 -0400
commite946da1d8c819ed18d8979cc2558ef095df8a189 (patch)
treedbddec156dfe6a473bf5cc8c4cb8f91d917171d7
parent0bdae7b3fbcd1d6d06096584915b9770fd07ccb2 (diff)
downloadtrace-cmd-e946da1d8c819ed18d8979cc2558ef095df8a189.tar.gz
trace-cmd: Remove ununsed knuth_hash*() routines
Neither 16-bit knuth_hash16() nor the 32-bit knuth_hash() are used. Delete them both. And rename the remaining function: knuth_hash8() => knuth_hash() Link: http://lore.kernel.org/linux-trace-devel/20190629062752.204113-1-gthelen@google.com Reviewed-by: Yordan Karadzhov (VMware) <y.karadz@gmail.com> Signed-off-by: Greg Thelen <gthelen@google.com> Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
-rw-r--r--kernel-shark/src/libkshark.c12
-rw-r--r--lib/trace-cmd/trace-filter-hash.c40
2 files changed, 14 insertions, 38 deletions
diff --git a/kernel-shark/src/libkshark.c b/kernel-shark/src/libkshark.c
index 0f0a1bab..d2764e81 100644
--- a/kernel-shark/src/libkshark.c
+++ b/kernel-shark/src/libkshark.c
@@ -252,13 +252,13 @@ void kshark_free(struct kshark_context *kshark_ctx)
free(kshark_ctx);
}
-static inline uint8_t knuth_hash8(uint32_t val)
+static inline uint8_t knuth_hash(uint32_t val)
{
/*
- * Hashing functions, based on Donald E. Knuth's Multiplicative
- * hashing. See The Art of Computer Programming (TAOCP).
- * Multiplication by the Prime number, closest to the golden
- * ratio of 2^8.
+ * Small table hashing function adapted from Donald E. Knuth's 32 bit
+ * multiplicative hash. See The Art of Computer Programming (TAOCP).
+ * Multiplication by the Prime number, closest to the golden ratio of
+ * 2^8.
*/
return UINT8_C(val) * UINT8_C(157);
}
@@ -282,7 +282,7 @@ kshark_add_task(struct kshark_context *kshark_ctx, int pid)
struct kshark_task_list *list;
uint8_t key;
- key = knuth_hash8(pid);
+ key = knuth_hash(pid);
list = kshark_find_task(kshark_ctx, key, pid);
if (list)
return list;
diff --git a/lib/trace-cmd/trace-filter-hash.c b/lib/trace-cmd/trace-filter-hash.c
index 39b28790..45ca68c2 100644
--- a/lib/trace-cmd/trace-filter-hash.c
+++ b/lib/trace-cmd/trace-filter-hash.c
@@ -14,45 +14,21 @@
#define FILTER_HASH_SIZE 256
-/*
- * Hashing functions, based on Donald E. Knuth's Multiplicative hashing.
- * See The Art of Computer Programming (TAOCP).
- */
-
-static inline uint8_t knuth_hash8(uint32_t val)
+static inline uint8_t knuth_hash(uint32_t val)
{
/*
- * Multiplicative hashing function.
- * Multiplication by the Prime number, closest to the golden
- * ratio of 2^8.
+ * Small table hashing function adapted from Donald E. Knuth's 32 bit
+ * multiplicative hash. See The Art of Computer Programming (TAOCP).
+ * Multiplication by the Prime number, closest to the golden ratio of
+ * 2^8.
*/
return UINT8_C(val) * UINT8_C(157);
}
-static inline uint16_t knuth_hash16(uint32_t val)
-{
- /*
- * Multiplicative hashing function.
- * Multiplication by the Prime number, closest to the golden
- * ratio of 2^16.
- */
- return UINT16_C(val) * UINT16_C(40507);
-}
-
-static inline uint32_t knuth_hash(uint32_t val)
-{
- /*
- * Multiplicative hashing function.
- * Multiplication by the Prime number, closest to the golden
- * ratio of 2^32.
- */
- return val * UINT32_C(2654435761);
-}
-
struct tracecmd_filter_id_item *
tracecmd_filter_id_find(struct tracecmd_filter_id *hash, int id)
{
- int key = knuth_hash8(id);
+ int key = knuth_hash(id);
struct tracecmd_filter_id_item *item = hash->hash[key];
while (item) {
@@ -66,7 +42,7 @@ tracecmd_filter_id_find(struct tracecmd_filter_id *hash, int id)
void tracecmd_filter_id_add(struct tracecmd_filter_id *hash, int id)
{
- int key = knuth_hash8(id);
+ int key = knuth_hash(id);
struct tracecmd_filter_id_item *item;
item = calloc(1, sizeof(*item));
@@ -81,7 +57,7 @@ void tracecmd_filter_id_add(struct tracecmd_filter_id *hash, int id)
void tracecmd_filter_id_remove(struct tracecmd_filter_id *hash, int id)
{
- int key = knuth_hash8(id);
+ int key = knuth_hash(id);
struct tracecmd_filter_id_item **next = &hash->hash[key];
struct tracecmd_filter_id_item *item;