Messages in this thread | | | Date | Wed, 5 Nov 2008 18:01:18 +0100 | From | "Frédéric Weisbecker" <> | Subject | Re: bug: ftrace & lockdep badness |
| |
2008/11/5 Steven Rostedt <rostedt@goodmis.org>: > I do like the fact that lockdep checks it too. But there's times that we > can not do that. > > Perhaps we can do something in between. > > Make a rb_spin_lock macro inside ring_buffer.c that can be either a > spin_lock or a raw_spin_lock. There are some tracers that must have this > as a raw (function trace, irqsoff and preemptoff), but the rest should be > fine. We can make it where the rb_spin_lock is a raw lock when any of > those three tracers are configured, and make it into a normal lock when > they are not.
But this way we won't be able to have lockdep checks when only one of those "raw-need" tracers are configured. Wouldn't it better to set it as a function pointer? It would dynamically reference spin_lock or raw_spin_lock functions depending on what tracer is currently selected. I think that wouldn't hardly impact the performances....
| |