Messages in this thread | | | From | (Eric W. Biederman) | Subject | Re: [3/5] 2.6.21-rc4: known regressions (v2) | Date | Sun, 25 Mar 2007 06:56:08 -0600 |
| |
"Rafael J. Wysocki" <rjw@sisk.pl> writes:
> Yes, in kernel/power/disk.c:power_down() . > > Please comment out the disable_nonboot_cpus() in there and retest (but please > test the latest Linus' tree).
<rant>
Why do we even need a disable_nonboot_cpus in that path? machine_shutdown on i386 and x86_64 should take care of that. Further the code that computes the boot cpu is bogus (not all architectures require cpu == 0 to be the boot cpu), and disabling non boot cpus appears to be a strong x86ism, in the first place.
If the only reason for disable_nonboot_cpus there is to avoid the WARN_ON in init_low_mappings() we should seriously consider killing it. If we can wait for 2.6.22 the relocatable x86_64 patchset that Andi has queued, has changes that kill the init_low_mapping() hack.
I'm not very comfortable with calling cpu_down in a common code path right now either. I'm fairly certain we still don't have that correct. So if we confine the mess that is cpu_down to #if defined(CPU_HOTPLUG) && defined(CONFIG_EXPERIMENTAL) I don't care. If we start using it everywhere I'm very nervous. I know the irq migration when bringing a cpu down is strongly racy, and I don't think we actually put cpus to sleep properly either.
</rant>
Eric - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |