wakes up.
> > I personally believe the timer thingy is important and cause
> > of problems.
>
> I disagree: the warning is supposed to silently fix it up.
>
yes. It goes like this:
1: The new super-scalable SMP timers code had a locking problem which
made 8-ways go oops.
2: The fix was to add a spinlock to struct timer_list.
3: spinlocks need to be initialised.
3a: struct timer_list needs to be initialised.
This is a problem, because it has traditionally been the case that
an all-zeroes struct timer_list is "initialised". That is no longer
the case. All timers must now be prepared with init_timer() or
TIMER_INITIALIZER()
So debugging code was added to the timer layer to detect when someone
passes an uninitialised timer into the core timer functions. That debug
code generates a warning, a backtrace and then initialises the timer
for you, so things run happily.
I did an audit and fixed up probably a hundred or so uninitialised timers,
but there will be a few leftovers.
The intent is that people will report these leftovers, they get fixed up
and then one day we pull out the debug code.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/