bpf/tests: Use migrate disable instead of preempt disable
Replace the preemption disable/enable with migrate_disable/enable() to reflect the actual requirement and to allow PREEMPT_RT to substitute it with an actual migration disable mechanism which does not disable preemption. [ tglx: Switched it over to migrate disable ] Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Alexei Starovoitov <ast@kernel.org> Link: https://lore.kernel.org/bpf/20200224145643.785306549@linutronix.de
This commit is contained in:
parent
3d9f773cf2
commit
6eac7795e8
|
@ -6660,14 +6660,14 @@ static int __run_one(const struct bpf_prog *fp, const void *data,
|
|||
u64 start, finish;
|
||||
int ret = 0, i;
|
||||
|
||||
preempt_disable();
|
||||
migrate_disable();
|
||||
start = ktime_get_ns();
|
||||
|
||||
for (i = 0; i < runs; i++)
|
||||
ret = BPF_PROG_RUN(fp, data);
|
||||
|
||||
finish = ktime_get_ns();
|
||||
preempt_enable();
|
||||
migrate_enable();
|
||||
|
||||
*duration = finish - start;
|
||||
do_div(*duration, runs);
|
||||
|
|
|
@ -37,7 +37,7 @@ static int bpf_test_run(struct bpf_prog *prog, void *ctx, u32 repeat,
|
|||
repeat = 1;
|
||||
|
||||
rcu_read_lock();
|
||||
preempt_disable();
|
||||
migrate_disable();
|
||||
time_start = ktime_get_ns();
|
||||
for (i = 0; i < repeat; i++) {
|
||||
bpf_cgroup_storage_set(storage);
|
||||
|
@ -54,18 +54,18 @@ static int bpf_test_run(struct bpf_prog *prog, void *ctx, u32 repeat,
|
|||
|
||||
if (need_resched()) {
|
||||
time_spent += ktime_get_ns() - time_start;
|
||||
preempt_enable();
|
||||
migrate_enable();
|
||||
rcu_read_unlock();
|
||||
|
||||
cond_resched();
|
||||
|
||||
rcu_read_lock();
|
||||
preempt_disable();
|
||||
migrate_disable();
|
||||
time_start = ktime_get_ns();
|
||||
}
|
||||
}
|
||||
time_spent += ktime_get_ns() - time_start;
|
||||
preempt_enable();
|
||||
migrate_enable();
|
||||
rcu_read_unlock();
|
||||
|
||||
do_div(time_spent, repeat);
|
||||
|
|
Loading…
Reference in New Issue