Re: [PATCH] x86: UV cleanup

From: Ingo Molnar
Date: Thu Jan 29 2009 - 15:35:41 EST



* Cliff Wickman <cpw@xxxxxxx> wrote:

> From: Cliff Wickman <cpw@xxxxxxx>
>
> This patch tweaks a couple things:
>
> - uv_flush_tlb_others()
> the WARN_ON(!in_atomic()); fails if CONFIG_PREEMPT is not enabled
>
> The #ifdef may not be the right fix. The fix is probably in the
> in_atomic macro, but I'm not sure what in_atomic() should return
> if CONFIG_PREEMPT is turned off. I tested making it return 1 in that
> case, but that yielded tons of warnings.
>
> The simpler fix for tlb_uv.c would be to just drop the WARN_ON.
>
> - uv_flush_send_and_wait() should return a pointer if the broadcast
> remote tlb shootdown requests fail. That causes the conventional IPI
> method of shootdown to be used.

hm, this isnt a cleanup but a fix - i.e. needs to go into x86/urgent as a
separate patch, right?

and this:

> @@ -316,7 +316,9 @@ const struct cpumask *uv_flush_tlb_other
> int locals = 0;
> struct bau_desc *bau_desc;
>
> +#ifdef CONFIG_PREEMPT
> WARN_ON(!in_atomic());
> +#endif

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

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/