Re: nmi_watchdog fix for x86_64 to be more like i386
From: Andi Kleen <hidden>
Date: 2007-10-01 21:43:46
Also in:
lkml
From: Andi Kleen <hidden>
Date: 2007-10-01 21:43:46
Also in:
lkml
IRQ_NOBALANCING is not preventing cpu unplug. It moves the affinity to the next CPU, but the check in NMI watchdog for CPU == 0 would not longer work.
That cannot happen right now because cpu_disable() on both i386/x86-64 reject CPU #0. So just setting IRQ_NOBALANCING is sufficient and both do that already. I was wrong earlier in being concerned about this.
int tick_do_broadcast(cpumask_t mask)@@ -137,6 +147,7 @@ int tick_do_broadcast(cpumask_t mask) cpu_clear(cpu, mask); td = &per_cpu(tick_cpu_device, cpu); td->evtdev->event_handler(td->evtdev); + tick_broadcast_account(cpu);
That would not handle the case with a single CPU running only irq 0 but not broadcasting I think. I believe ftp://ftp.firstfloor.org/pub/ak/x86_64/quilt/patches/fix-watchdog is the correct fix -Andi