diff mbox series

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

Message ID 20190629062752.204113-1-gthelen@google.com (mailing list archive)
State Accepted
Commit e946da1d8c819ed18d8979cc2558ef095df8a189
Headers show
Series [v2] trace-cmd: remove ununsed knuth_hash*() routines | expand

Commit Message

Greg Thelen June 29, 2019, 6:27 a.m. UTC
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()

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

Comments

Yordan Karadzhov July 1, 2019, 12:23 p.m. UTC | #1
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@gmail.com>


> Signed-off-by: Greg Thelen <gthelen@google.com>
> ---
>   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;
>   
>
Steven Rostedt July 5, 2019, 1:31 p.m. UTC | #2
On Fri, 28 Jun 2019 23:27:52 -0700
Greg Thelen <gthelen@google.com> 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()
> 
> Signed-off-by: Greg Thelen <gthelen@google.com>
>

Thanks Greg, I applied this.

Note, when sending a v2 patch, it is best to start a new thread, as
some maintainer's patch maintenance systems (including mine) have
trouble dealing with patches within threads. That is, they tend to get
lost easier.

Thanks!

-- Steve
diff mbox series

Patch

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;