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 |
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; > >
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 --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;
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(-)