Re: [PATCH] bug: Use xchg() to update WARN_ON_ONCE() staticvariable

From: Steven Rostedt
Date: Tue Oct 15 2013 - 16:25:47 EST


On Tue, 15 Oct 2013 22:18:48 +0200
Frederic Weisbecker <fweisbec@xxxxxxxxx> wrote:


> How about just updating __warned without a cmpxchg. It's not that critical
> if the update is not seen immediately to other CPUs. OTOH it's critical
> that's it is visible immediately to the current CPU

Well, I didn't use cmpxchg() I used xchg() which is actually quite
faster.

>
> I mean some warrning can be hard to reproduce and happen to some users
> while staying for several kernel releases. If it's repetitive, the xchg
> might impact the performance.

But do we care about that? A WARN_ON() means the kernel (or hardware)
is buggy. It should be fixed.

But Andrew's ONCE() request is something we would want to avoid the
xchg() every time.

>
> I may be overly paranoid, but I think barrier() (so that at least
> we don't recurse locally) alone would be better.

Heh, Boris is giving me the same argument on IRC ;-)

-- Steve
--
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/