Commit 8b7be52f authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'modules-6.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux

Pull module fix from Luis Chamberlain:
 "Just one fix for modules by Nick"

* tag 'modules-6.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux:
  kallsyms: Fix scheduling with interrupts disabled in self-test
parents b35ad63e da35048f
...@@ -157,14 +157,11 @@ static void test_kallsyms_compression_ratio(void) ...@@ -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)
...@@ -234,18 +231,15 @@ static int find_symbol(void *data, const char *name, struct module *mod, unsigne ...@@ -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);
} }
...@@ -270,17 +264,14 @@ static int match_symbol(void *data, unsigned long addr) ...@@ -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);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment