Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3a450de1 authored by Cliff Wickman's avatar Cliff Wickman Committed by Ingo Molnar
Browse files

x86: UV: remove uv_flush_tlb_others() WARN_ON



In uv_flush_tlb_others() (arch/x86/kernel/tlb_uv.c),
the "WARN_ON(!in_atomic())" fails if CONFIG_PREEMPT is not enabled.

And CONFIG_PREEMPT is not enabled by default in the distribution that
most UV owners will use.

We could #ifdef CONFIG_PREEMPT the warning, but that is not good form.
And there seems to be no suitable fix to in_atomic() when CONFIG_PREMPT
is not on.

As Ingo commented:

  > and we have no proper primitive to test for atomicity. (mainly
  > because we dont know about atomicity on a non-preempt kernel)

So we drop the WARN_ON.

Signed-off-by: default avatarCliff Wickman <cpw@sgi.com>
Signed-off-by: default avatarTejun Heo <tj@kernel.org>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent ccea34b5
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -314,8 +314,6 @@ const struct cpumask *uv_flush_tlb_others(const struct cpumask *cpumask,
	int locals = 0;
	struct bau_desc *bau_desc;

	WARN_ON(!in_atomic());

	cpumask_andnot(flush_mask, cpumask, cpumask_of(cpu));

	uv_cpu = uv_blade_processor_id();