Prev: [PATCH wq#for-linus] workqueue: workqueue_cpu_callback() should be cpu_notifier not hotcpu_notifier
Next: regulator: lp3971 - remove unnecessary ret value checking in lp3971_i2c_write()
From: Markus Trippelsdorf on 9 Aug 2010 05:50 On Mon, Aug 09, 2010 at 11:36:20AM +0200, Tejun Heo wrote: > Commit 6ee0578b (workqueue: mark init_workqueues as early_initcall) > made workqueue SMP initialization depend on workqueue_cpu_callback(), > which however was registered as hotcpu_notifier() and didn't get > called if CONFIG_HOTPLUG_CPU is not set. This made gcwqs on non-boot > CPUs not create their initial workers leading to boot failures. Fix > it by making it a cpu_notifier. > > So, something like this. Can you please verify the fix? This fixes the boot problem here. Thanks. (The drm delayed enqueue problem, which I mentioned earlier still persists.) -- �A man who doesn't know he is in prison can never escape.� William S. Burroughs -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Markus Trippelsdorf on 9 Aug 2010 06:00 On Mon, Aug 09, 2010 at 11:49:00AM +0200, Tejun Heo wrote: > Hello, > > On 08/09/2010 11:46 AM, Markus Trippelsdorf wrote: > > This fixes the boot problem here. Thanks. > > Great. May I add your Tested-by? Sure. Tested-by: Markus Trippelsdorf <markus(a)trippelsdorf.de> > > (The drm delayed enqueue problem, which I mentioned earlier still > > persists.) > > Yeah, I'm looking into it now but it looks like the error message is > simply spurious. queue_delayed_work() returns 1 if the work was > actually queued and 0 if it was already pending and thus the function > call was no-op. output_poll_execute() is incorrectly interpreting 1 > return as error. I'll look through the history and try to find out > whether/how wq changes affected the behavior, but the fix is most > likely simply killing the message. Yes, this looks like a cosmetic issue and I observe no other graphics problems at all. -- �A man who doesn't know he is in prison can never escape.� William S. Burroughs -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Suresh Siddha on 9 Aug 2010 13:10
On Mon, 2010-08-09 at 02:36 -0700, Tejun Heo wrote: > Commit 6ee0578b (workqueue: mark init_workqueues as early_initcall) > made workqueue SMP initialization depend on workqueue_cpu_callback(), > which however was registered as hotcpu_notifier() and didn't get > called if CONFIG_HOTPLUG_CPU is not set. This made gcwqs on non-boot > CPUs not create their initial workers leading to boot failures. Fix > it by making it a cpu_notifier. > > Signed-off-by: Tejun Heo <tj(a)kernel.org> > Reported-and-bisected-by: walt <w41ter(a)gmail.com> > --- > So, something like this. Can you please verify the fix? > > Thanks. > > kernel/workqueue.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/kernel/workqueue.c b/kernel/workqueue.c > index da6c482..2994a0e 100644 > --- a/kernel/workqueue.c > +++ b/kernel/workqueue.c > @@ -3527,7 +3527,7 @@ static int __init init_workqueues(void) > unsigned int cpu; > int i; > > - hotcpu_notifier(workqueue_cpu_callback, CPU_PRI_WORKQUEUE); > + cpu_notifier(workqueue_cpu_callback, CPU_PRI_WORKQUEUE); > > /* initialize gcwqs */ > for_each_gcwq_cpu(cpu) { Acked-by: Suresh Siddha <suresh.b.siddha(a)intel.com> -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |