Loading kernel/kallsyms_selftest.c +6 −15 Original line number Original line Diff line number Diff line Loading @@ -157,14 +157,11 @@ static void test_kallsyms_compression_ratio(void) static int lookup_name(void *data, const char *name, struct module *mod, unsigned long addr) static int lookup_name(void *data, const char *name, struct module *mod, unsigned long addr) { { u64 t0, t1, t; u64 t0, t1, t; unsigned long flags; struct test_stat *stat = (struct test_stat *)data; struct test_stat *stat = (struct test_stat *)data; local_irq_save(flags); t0 = ktime_get_ns(); t0 = sched_clock(); (void)kallsyms_lookup_name(name); (void)kallsyms_lookup_name(name); t1 = sched_clock(); t1 = ktime_get_ns(); local_irq_restore(flags); t = t1 - t0; t = t1 - t0; if (t < stat->min) if (t < stat->min) Loading Loading @@ -234,18 +231,15 @@ static int find_symbol(void *data, const char *name, struct module *mod, unsigne static void test_perf_kallsyms_on_each_symbol(void) static void test_perf_kallsyms_on_each_symbol(void) { { u64 t0, t1; u64 t0, t1; unsigned long flags; struct test_stat stat; struct test_stat stat; memset(&stat, 0, sizeof(stat)); memset(&stat, 0, sizeof(stat)); stat.max = INT_MAX; stat.max = INT_MAX; stat.name = stub_name; stat.name = stub_name; stat.perf = 1; stat.perf = 1; local_irq_save(flags); t0 = ktime_get_ns(); t0 = sched_clock(); kallsyms_on_each_symbol(find_symbol, &stat); kallsyms_on_each_symbol(find_symbol, &stat); t1 = sched_clock(); t1 = ktime_get_ns(); local_irq_restore(flags); pr_info("kallsyms_on_each_symbol() traverse all: %lld ns\n", t1 - t0); pr_info("kallsyms_on_each_symbol() traverse all: %lld ns\n", t1 - t0); } } Loading @@ -270,17 +264,14 @@ static int match_symbol(void *data, unsigned long addr) static void test_perf_kallsyms_on_each_match_symbol(void) static void test_perf_kallsyms_on_each_match_symbol(void) { { u64 t0, t1; u64 t0, t1; unsigned long flags; struct test_stat stat; struct test_stat stat; memset(&stat, 0, sizeof(stat)); memset(&stat, 0, sizeof(stat)); stat.max = INT_MAX; stat.max = INT_MAX; stat.name = stub_name; stat.name = stub_name; local_irq_save(flags); t0 = ktime_get_ns(); t0 = sched_clock(); kallsyms_on_each_match_symbol(match_symbol, stat.name, &stat); kallsyms_on_each_match_symbol(match_symbol, stat.name, &stat); t1 = sched_clock(); t1 = ktime_get_ns(); local_irq_restore(flags); pr_info("kallsyms_on_each_match_symbol() traverse all: %lld ns\n", t1 - t0); pr_info("kallsyms_on_each_match_symbol() traverse all: %lld ns\n", t1 - t0); } } Loading Loading
kernel/kallsyms_selftest.c +6 −15 Original line number Original line Diff line number Diff line Loading @@ -157,14 +157,11 @@ static void test_kallsyms_compression_ratio(void) static int lookup_name(void *data, const char *name, struct module *mod, unsigned long addr) static int lookup_name(void *data, const char *name, struct module *mod, unsigned long addr) { { u64 t0, t1, t; u64 t0, t1, t; unsigned long flags; struct test_stat *stat = (struct test_stat *)data; struct test_stat *stat = (struct test_stat *)data; local_irq_save(flags); t0 = ktime_get_ns(); t0 = sched_clock(); (void)kallsyms_lookup_name(name); (void)kallsyms_lookup_name(name); t1 = sched_clock(); t1 = ktime_get_ns(); local_irq_restore(flags); t = t1 - t0; t = t1 - t0; if (t < stat->min) if (t < stat->min) Loading Loading @@ -234,18 +231,15 @@ static int find_symbol(void *data, const char *name, struct module *mod, unsigne static void test_perf_kallsyms_on_each_symbol(void) static void test_perf_kallsyms_on_each_symbol(void) { { u64 t0, t1; u64 t0, t1; unsigned long flags; struct test_stat stat; struct test_stat stat; memset(&stat, 0, sizeof(stat)); memset(&stat, 0, sizeof(stat)); stat.max = INT_MAX; stat.max = INT_MAX; stat.name = stub_name; stat.name = stub_name; stat.perf = 1; stat.perf = 1; local_irq_save(flags); t0 = ktime_get_ns(); t0 = sched_clock(); kallsyms_on_each_symbol(find_symbol, &stat); kallsyms_on_each_symbol(find_symbol, &stat); t1 = sched_clock(); t1 = ktime_get_ns(); local_irq_restore(flags); pr_info("kallsyms_on_each_symbol() traverse all: %lld ns\n", t1 - t0); pr_info("kallsyms_on_each_symbol() traverse all: %lld ns\n", t1 - t0); } } Loading @@ -270,17 +264,14 @@ static int match_symbol(void *data, unsigned long addr) static void test_perf_kallsyms_on_each_match_symbol(void) static void test_perf_kallsyms_on_each_match_symbol(void) { { u64 t0, t1; u64 t0, t1; unsigned long flags; struct test_stat stat; struct test_stat stat; memset(&stat, 0, sizeof(stat)); memset(&stat, 0, sizeof(stat)); stat.max = INT_MAX; stat.max = INT_MAX; stat.name = stub_name; stat.name = stub_name; local_irq_save(flags); t0 = ktime_get_ns(); t0 = sched_clock(); kallsyms_on_each_match_symbol(match_symbol, stat.name, &stat); kallsyms_on_each_match_symbol(match_symbol, stat.name, &stat); t1 = sched_clock(); t1 = ktime_get_ns(); local_irq_restore(flags); pr_info("kallsyms_on_each_match_symbol() traverse all: %lld ns\n", t1 - t0); pr_info("kallsyms_on_each_match_symbol() traverse all: %lld ns\n", t1 - t0); } } Loading