----- "Tejun Heo" <tj@xxxxxxxxxx> wrote: > Please try this one instead. Thanks. Unable to reproduce it any more after applied the patch, NET: Registered protocol family 16 ACPI FADT declares the system doesn't support PCIe ASPM, so disable it ACPI: bus type pci registered PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0x80000000-0x8fffffff] (base 0x80000000) PCI: MMCONFIG at [mem 0x80000000-0x8fffffff] reserved in E820 PCI: Using configuration type 1 for base access bio: create slab <bio-0> at 0 XXX kintegrityd: rescuer dispatching to cpu0 XXX kintegrityd: rescuer done binding, bound=1 XXX kintegrityd: rescuer dispatching to cpu5 XXX kintegrityd: rescuer done binding, bound=0 XXX kintegrityd: rescuer dispatching to cpu6 XXX kintegrityd: rescuer done binding, bound=0 XXX kintegrityd: rescuer dispatching to cpu10 XXX kintegrityd: rescuer done binding, bound=0 XXX kintegrityd: rescuer dispatching to cpu13 XXX kintegrityd: rescuer done binding, bound=0 XXX kintegrityd: rescuer dispatching to cpu14 XXX kintegrityd: rescuer done binding, bound=0 XXX kintegrityd: rescuer dispatching to cpu18 XXX kintegrityd: rescuer done binding, bound=0 XXX kintegrityd: rescuer dispatching to cpu21 XXX kintegrityd: rescuer done binding, bound=0 XXX kintegrityd: rescuer dispatching to cpu22 XXX kintegrityd: rescuer done binding, bound=0 XXX kintegrityd: rescuer dispatching to cpu30 XXX kintegrityd: rescuer done binding, bound=0 XXX kintegrityd: rescuer dispatching to cpu32 XXX kintegrityd: rescuer done binding, bound=0 XXX kintegrityd: rescuer dispatching to cpu33 XXX kintegrityd: rescuer done binding, bound=0 XXX kintegrityd: rescuer dispatching to cpu34 XXX kintegrityd: rescuer done binding, bound=0 XXX kintegrityd: rescuer dispatching to cpu35 XXX kintegrityd: rescuer done binding, bound=0 XXX kintegrityd: rescuer dispatching to cpu37 XXX kintegrityd: rescuer done binding, bound=0 XXX kintegrityd: rescuer dispatching to cpu42 XXX kintegrityd: rescuer done binding, bound=0 XXX kintegrityd: rescuer dispatching to cpu45 XXX kintegrityd: rescuer done binding, bound=0 XXX kintegrityd: rescuer dispatching to cpu46 XXX kintegrityd: rescuer done binding, bound=0 XXX kintegrityd: rescuer dispatching to cpu48 XXX kintegrityd: rescuer done binding, bound=0 XXX kintegrityd: rescuer dispatching to cpu50 XXX kintegrityd: rescuer done binding, bound=0 XXX kintegrityd: rescuer dispatching to cpu53 XXX kintegrityd: rescuer done binding, bound=0 XXX kintegrityd: rescuer dispatching to cpu54 XXX kintegrityd: rescuer done binding, bound=0 XXX kintegrityd: rescuer dispatching to cpu57 XXX kintegrityd: rescuer done binding, bound=0 XXX kintegrityd: rescuer dispatching to cpu58 XXX kintegrityd: rescuer done binding, bound=0 XXX kintegrityd: rescuer dispatching to cpu60 XXX kintegrityd: rescuer done binding, bound=0 XXX kintegrityd: rescuer dispatching to cpu61 XXX kintegrityd: rescuer done binding, bound=0 XXX kintegrityd: rescuer dispatching to cpu62 XXX kintegrityd: rescuer done binding, bound=0 XXX kblockd: rescuer dispatching to cpu0 XXX kblockd: rescuer done binding, bound=1 XXX kblockd: rescuer dispatching to cpu5 XXX kblockd: rescuer done binding, bound=0 XXX kblockd: rescuer dispatching to cpu6 XXX kblockd: rescuer done binding, bound=0 XXX kblockd: rescuer dispatching to cpu10 XXX kblockd: rescuer done binding, bound=0 XXX kblockd: rescuer dispatching to cpu13 XXX kblockd: rescuer done binding, bound=0 XXX kblockd: rescuer dispatching to cpu14 XXX kblockd: rescuer done binding, bound=0 XXX kblockd: rescuer dispatching to cpu18 XXX kblockd: rescuer done binding, bound=0 XXX kblockd: rescuer dispatching to cpu21 XXX kblockd: rescuer done binding, bound=0 XXX kblockd: rescuer dispatching to cpu22 XXX kblockd: rescuer done binding, bound=0 XXX kblockd: rescuer dispatching to cpu30 XXX kblockd: rescuer done binding, bound=0 XXX kblockd: rescuer dispatching to cpu32 XXX kblockd: rescuer done binding, bound=0 XXX kblockd: rescuer dispatching to cpu33 XXX kblockd: rescuer done binding, bound=0 XXX kblockd: rescuer dispatching to cpu34 XXX kblockd: rescuer done binding, bound=0 XXX kblockd: rescuer dispatching to cpu35 XXX kblockd: rescuer done binding, bound=0 XXX kblockd: rescuer dispatching to cpu37 XXX kblockd: rescuer done binding, bound=0 XXX kblockd: rescuer dispatching to cpu40 XXX kblockd: rescuer done binding, bound=0 XXX kblockd: rescuer dispatching to cpu41 XXX kblockd: rescuer done binding, bound=0 XXX kblockd: rescuer dispatching to cpu45 XXX kblockd: rescuer done binding, bound=0 XXX kblockd: rescuer dispatching to cpu46 XXX kblockd: rescuer done binding, bound=0 XXX kblockd: rescuer dispatching to cpu50 XXX kblockd: rescuer done binding, bound=0 XXX kblockd: rescuer dispatching to cpu51 XXX kblockd: rescuer done binding, bound=0 XXX kblockd: rescuer dispatching to cpu53 XXX kblockd: rescuer done binding, bound=0 XXX kblockd: rescuer dispatching to cpu54 XXX kblockd: rescuer done binding, bound=0 XXX kblockd: rescuer dispatching to cpu56 XXX kblockd: rescuer done binding, bound=0 XXX kblockd: rescuer dispatching to cpu61 XXX kblockd: rescuer done binding, bound=0 XXX kblockd: rescuer dispatching to cpu62 XXX kblockd: rescuer done binding, bound=0 XXX kacpid: rescuer dispatching to cpu0 XXX kacpid: rescuer done binding, bound=1 XXX kacpid: rescuer dispatching to cpu5 XXX kacpid: rescuer done binding, bound=0 XXX kacpid: rescuer dispatching to cpu6 XXX kacpid: rescuer done binding, bound=0 XXX kacpid: rescuer dispatching to cpu10 XXX kacpid: rescuer done binding, bound=0 XXX kacpid: rescuer dispatching to cpu13 XXX kacpid: rescuer done binding, bound=0 XXX kacpid: rescuer dispatching to cpu14 XXX kacpid: rescuer done binding, bound=0 XXX kacpid: rescuer dispatching to cpu18 XXX kacpid: rescuer done binding, bound=0 XXX kacpid: rescuer dispatching to cpu21 XXX kacpid: rescuer done binding, bound=0 XXX kacpid: rescuer dispatching to cpu22 XXX kacpid: rescuer done binding, bound=0 XXX kacpid: rescuer dispatching to cpu30 XXX kacpid: rescuer done binding, bound=0 XXX kacpid: rescuer dispatching to cpu32 XXX kacpid: rescuer done binding, bound=0 XXX kacpid: rescuer dispatching to cpu33 XXX kacpid: rescuer done binding, bound=0 XXX kacpid: rescuer dispatching to cpu34 XXX kacpid: rescuer done binding, bound=0 XXX kacpid: rescuer dispatching to cpu35 XXX kacpid: rescuer done binding, bound=0 XXX kacpid: rescuer dispatching to cpu37 XXX kacpid: rescuer done binding, bound=0 XXX kacpid: rescuer dispatching to cpu40 XXX kacpid: rescuer done binding, bound=0 XXX kacpid: rescuer dispatching to cpu41 XXX kacpid: rescuer done binding, bound=0 XXX kacpid: rescuer dispatching to cpu45 XXX kacpid: rescuer done binding, bound=0 XXX kacpid: rescuer dispatching to cpu46 XXX kacpid: rescuer done binding, bound=0 XXX kacpid: rescuer dispatching to cpu50 XXX kacpid: rescuer done binding, bound=0 XXX kacpid: rescuer dispatching to cpu51 XXX kacpid: rescuer done binding, bound=0 XXX kacpid: rescuer dispatching to cpu53 XXX kacpid: rescuer done binding, bound=0 XXX kacpid: rescuer dispatching to cpu54 XXX kacpid: rescuer done binding, bound=0 XXX kacpid: rescuer dispatching to cpu56 XXX kacpid: rescuer done binding, bound=0 XXX kacpid: rescuer dispatching to cpu61 XXX kacpid: rescuer done binding, bound=0 XXX kacpid: rescuer dispatching to cpu62 XXX kacpid: rescuer done binding, bound=0 ACPI Error: Field [CPB3] at 96 exceeds Buffer [NULL] size 64 (bits) (20100702/dsopcode-597) ACPI Error (psparse-0537): Method parse/execution failed [\_SB_._OSC] (Node ffff880c6e58cf38), AE_AML_BUFFER_LIMIT ACPI: Interpreter enabled ACPI: (supports S0 S1 S5) ACPI: Using IOAPIC for interrupt routing ACPI: No dock devices found. PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug ACPI: PCI Root Bridge [IOH0] (domain 0000 [bus 00-7f]) ... > > diff --git a/kernel/workqueue.c b/kernel/workqueue.c > index a2dccfc..75cdbc2 100644 > --- a/kernel/workqueue.c > +++ b/kernel/workqueue.c > @@ -1224,6 +1224,8 @@ __acquires(&gcwq->lock) > { > struct global_cwq *gcwq = worker->gcwq; > struct task_struct *task = worker->task; > + static unsigned int cnt; > + int rc; > > while (true) { > /* > @@ -1232,8 +1234,11 @@ __acquires(&gcwq->lock) > * it races with cpu hotunplug operation. Verify > * against GCWQ_DISASSOCIATED. > */ > - if (!(gcwq->flags & GCWQ_DISASSOCIATED)) > - set_cpus_allowed_ptr(task, get_cpu_mask(gcwq->cpu)); > + if (!(gcwq->flags & GCWQ_DISASSOCIATED)) { > + rc = set_cpus_allowed_ptr(task, get_cpu_mask(gcwq->cpu)); > + if (rc && ++cnt < 10) > + printk("XXX set_cpus_allowed_ptr() failed w/ %d\n", rc); > + } > > spin_lock_irq(&gcwq->lock); > if (gcwq->flags & GCWQ_DISASSOCIATED) > @@ -1985,13 +1990,16 @@ repeat: > struct cpu_workqueue_struct *cwq = get_cwq(tcpu, wq); > struct global_cwq *gcwq = cwq->gcwq; > struct work_struct *work, *n; > + bool bound; > > __set_current_state(TASK_RUNNING); > mayday_clear_cpu(cpu, wq->mayday_mask); > > /* migrate to the target cpu if possible */ > rescuer->gcwq = gcwq; > - worker_maybe_bind_and_lock(rescuer); > + printk("XXX %s: rescuer dispatching to cpu%u\n", wq->name, > gcwq->cpu); > + bound = worker_maybe_bind_and_lock(rescuer); > + printk("XXX %s: rescuer done binding, bound=%d\n", wq->name, > bound); > > /* > * Slurp in all works issued via this workqueue and > @@ -3558,8 +3566,7 @@ static int __init init_workqueues(void) > spin_lock_init(&gcwq->lock); > INIT_LIST_HEAD(&gcwq->worklist); > gcwq->cpu = cpu; > - if (cpu == WORK_CPU_UNBOUND) > - gcwq->flags |= GCWQ_DISASSOCIATED; > + gcwq->flags |= GCWQ_DISASSOCIATED; > > INIT_LIST_HEAD(&gcwq->idle_list); > for (i = 0; i < BUSY_WORKER_HASH_SIZE; i++) > @@ -3583,6 +3590,8 @@ static int __init init_workqueues(void) > struct global_cwq *gcwq = get_gcwq(cpu); > struct worker *worker; > > + if (cpu != WORK_CPU_UNBOUND) > + gcwq->flags &= ~GCWQ_DISASSOCIATED; > worker = create_worker(gcwq, true); > BUG_ON(!worker); > spin_lock_irq(&gcwq->lock); > > _______________________________________________ > kexec mailing list > kexec@xxxxxxxxxxxxxxxxxxx > http://lists.infradead.org/mailman/listinfo/kexec -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html