| Date | Wed, 17 May 2017 11:58:08 +0100 | From | Mark Rutland <> | Subject | Re: [patch V2 00/17] init: Enable might_sleep() and smp_processor_id() debugging early |
| |
Hi,
On Tue, May 16, 2017 at 08:42:31PM +0200, Thomas Gleixner wrote: > We recentlty discovered a call path which takes a mutex from the low level > secondary CPU bringup code and wondered why this was not caught by > might_sleep(). > > The reason is that both debug facilities depend on system_state == > SYSTEM_RUNNING, which is set after init memory is freed. > > That means that SMP bootup and builtin driver initialization are not > covered by these checks at all. > > The patch series addresses this by adding an intermediate state which > enables both debug features right when scheduling starts, i.e. the boot CPU > idle task schedules the first time.
Thanks again for attacking this.
I gave this a spin atop of v4.12-rc1 on an ARM Juno platform. It picks up the mutex issue, and I see no other new warnings. With a fix [1] for the mutex issue appplied, I see no warnings.
Feel free to add my Tested-by for the arm64 and common bits.
Thanks, Mark.
[1] http://lists.infradead.org/pipermail/linux-arm-kernel/2017-May/506558.html
|