Messages in this thread |  | | | Date | Tue, 18 Nov 2008 15:47:51 +0100 | | From | Ingo Molnar <> | | Subject | Re: ftrace: preemptoff selftest not working |
| |
* Steven Rostedt <rostedt@goodmis.org> wrote:
> > On Tue, 18 Nov 2008, Ingo Molnar wrote: > > > > * Steven Rostedt <rostedt@goodmis.org> wrote: > > > > > > Hence the trace buffer will be empty. The patch below makes the > > > > selftests working for me, since then they run in preemptible > > > > context. But it is ugly and I'm not proposing it for upstream ;) > > > > > > > > Just wanted to make you aware that there is a bug. > > > > > > Yep, this might be a better answer than what I put into linux-tip > > > (and my git repo). > > > > > > See: > > > > > > ftrace: force pass of preemptoff selftest > > > > > > The cause of the bug was the conversion of the BKL back to a > > > spinlock, and making it non preempt. The initcall code is called > > > with the BKL applied which now means it can not preempt. This breaks > > > the preempt tracer selftest. > > > > > > My solution was to just force a pass if this is detected. Perhaps > > > moving the test might be better. > > > > it would be better to just drop the BKL in that selftest. (or in all > > selftests - an elevated preempt count will skew a number of things) > > I have no problem with that, but does the BKL play any role for > being held? I have no idea why it is taken in boot up, so I'm > hestiant to touch it.
we can drop it in selected initcalls just fine. Its only role is old-style init functions racing with other async contexts of themselves.
Ingo
|  |