Messages in this thread | | | Date | Tue, 15 Oct 2013 16:25:40 -0400 | From | Steven Rostedt <> | Subject | Re: [PATCH] bug: Use xchg() to update WARN_ON_ONCE() static variable |
| |
On Tue, 15 Oct 2013 22:18:48 +0200 Frederic Weisbecker <fweisbec@gmail.com> 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
| |