Commit 20079ebe73c16b34621abd2993f3d48e2f9336b7

Authored by Namhyung Kim
Committed by Steven Rostedt
1 parent ed6f1c996b

ftrace: Get rid of ftrace_profile_bits

It seems that function profiler's hash size is fixed at 1024.  Add and
use FTRACE_PROFILE_HASH_BITS instead and update hash size macro.

Link: http://lkml.kernel.org/r/1365551750-4504-1-git-send-email-namhyung@kernel.org

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>

Showing 1 changed file with 4 additions and 11 deletions Side-by-side Diff

kernel/trace/ftrace.c
... ... @@ -486,7 +486,6 @@
486 486 #define PROFILES_PER_PAGE \
487 487 (PROFILE_RECORDS_SIZE / sizeof(struct ftrace_profile))
488 488  
489   -static int ftrace_profile_bits __read_mostly;
490 489 static int ftrace_profile_enabled __read_mostly;
491 490  
492 491 /* ftrace_profile_lock - synchronize the enable and disable of the profiler */
... ... @@ -494,7 +493,8 @@
494 493  
495 494 static DEFINE_PER_CPU(struct ftrace_profile_stat, ftrace_profile_stats);
496 495  
497   -#define FTRACE_PROFILE_HASH_SIZE 1024 /* must be power of 2 */
  496 +#define FTRACE_PROFILE_HASH_BITS 10
  497 +#define FTRACE_PROFILE_HASH_SIZE (1 << FTRACE_PROFILE_HASH_BITS)
498 498  
499 499 static void *
500 500 function_stat_next(void *v, int idx)
... ... @@ -725,13 +725,6 @@
725 725 if (!stat->hash)
726 726 return -ENOMEM;
727 727  
728   - if (!ftrace_profile_bits) {
729   - size--;
730   -
731   - for (; size; size >>= 1)
732   - ftrace_profile_bits++;
733   - }
734   -
735 728 /* Preallocate the function profiling pages */
736 729 if (ftrace_profile_pages_init(stat) < 0) {
737 730 kfree(stat->hash);
... ... @@ -765,7 +758,7 @@
765 758 struct hlist_node *n;
766 759 unsigned long key;
767 760  
768   - key = hash_long(ip, ftrace_profile_bits);
  761 + key = hash_long(ip, FTRACE_PROFILE_HASH_BITS);
769 762 hhd = &stat->hash[key];
770 763  
771 764 if (hlist_empty(hhd))
... ... @@ -784,7 +777,7 @@
784 777 {
785 778 unsigned long key;
786 779  
787   - key = hash_long(rec->ip, ftrace_profile_bits);
  780 + key = hash_long(rec->ip, FTRACE_PROFILE_HASH_BITS);
788 781 hlist_add_head_rcu(&rec->node, &stat->hash[key]);
789 782 }
790 783