Messages in this thread | | | Date | Wed, 22 Aug 2012 00:50:06 +0800 | From | Fengguang Wu <> | Subject | Re: BUG: scheduling while atomic, under native_smp_prepare_cpus() |
| |
On Mon, Aug 20, 2012 at 05:42:22PM +0800, Michael Wang wrote: > On 08/20/2012 05:27 PM, Fengguang Wu wrote: > > Hi Michael, > > > > On Mon, Aug 20, 2012 at 05:20:35PM +0800, Michael Wang wrote: > >> On 08/17/2012 09:49 PM, Fengguang Wu wrote: > >> > >> Hi, FengGuang > >> > >> native_smp_prepare_cpus has already disabled the preempt before > >> reach __irq_alloc_descs(), and sleep in mutex_lock() cause the bug. > >> > >> May be the follow patch could help to solve the issue(actually I > >> think the true problem should be in _cond_resched...). > > > > Is this a debug patch? Since what it does is to conditionally disable > > the warning. > > No, I use this as a solution, it should work as the bug reported in boot > process before init_post called. > > We have some reference from __might_sleep which also avoid the check if > system has not fully booted, so I think this way is acceptable, but I'm > not the one to make decision...
Fair enough.
> > > >> I can't do test by my self since I can't reproduce the issue on my > >> machine, the kernel_init thread never got a need sched flag set at > >> that moment in my case... > > > > I'll try it and report back :) > > Appreciate :)
It works! :)
Tested-by: Fengguang Wu <wfg@linux.intel.com>
Thanks, Fengguang
| |