Re: [PATCH v2] trace-cmd: remove ununsed knuth_hash*() routines

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 29.06.19 г. 9:27 ч., Greg Thelen wrote:
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()


Thanks!

Reviewed-by: Yordan Karadzhov (VMware) <y.karadz@xxxxxxxxx>


Signed-off-by: Greg Thelen <gthelen@xxxxxxxxxx>
---
  kernel-shark/src/libkshark.c      | 12 +++++-----
  lib/trace-cmd/trace-filter-hash.c | 40 +++++++------------------------
  2 files changed, 14 insertions(+), 38 deletions(-)

diff --git a/kernel-shark/src/libkshark.c b/kernel-shark/src/libkshark.c
index 0f0a1bab4d5c..d2764e813194 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 39b28790e0bc..45ca68c2959e 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;



[Index of Archives]     [Linux USB Development]     [Linux USB Development]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux