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>
diff --git a/kernel-shark/src/libkshark.c b/kernel-shark/src/libkshark.c
index 0f0a1ba..d2764e8 100644
--- a/kernel-shark/src/libkshark.c
+++ b/kernel-shark/src/libkshark.c
@@ -252,13 +252,13 @@
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 @@
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 39b2879..45ca68c 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 @@
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_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;