Messages in this thread |  | | Date | Wed, 30 Mar 2005 13:32:54 +0200 | From | Pavel Machek <> | Subject | Re: smp/swsusp done right |
| |
Hi!
> > This is against -mm kernel; it is smp swsusp done right, and it > > actually works for me. Unlike previous hacks, it uses cpu hotplug > > infrastructure. Disable CONFIG_MTRR before you try this... > > > > Test this if you can, and report any problems. If not enough people > > scream, this is going to -mm. > > Pavel > > > > --- clean-mm/drivers/pci/pci.c 2005-03-21 11:39:32.000000000 +0100 > > +++ linux-mm/drivers/pci/pci.c 2005-03-22 01:41:48.000000000 +0100 > > @@ -376,11 +376,13 @@ > > if (!pci_find_capability(dev, PCI_CAP_ID_PM)) > > return PCI_D0; > > > > +#if 0 > > if (platform_pci_choose_state) { > > ret = platform_pci_choose_state(dev, state); > > if (ret >= 0) > > state = ret; > > } > > +#endif > > switch (state) { > > case 0: return PCI_D0; > > case 3: return PCI_D3hot; > > You probably don't want the above change to go in the final patch?
No, not in final patch.
> > - atomic_set(&cpu_counter, 0); > > - atomic_set(&freeze, 1); > > - smp_call_function(smp_pause, NULL, 0, 0); > > - while (atomic_read(&cpu_counter) < (num_online_cpus() - 1)) { > > - cpu_relax(); > > - barrier(); > > + error = 0; > > + cpus_clear(frozen_cpus); > > + printk("Freezing cpus ...\n"); > > + for_each_online_cpu(cpu) { > > + if (cpu == 0) > > + continue; > > + error = cpu_down(cpu); > > + if (!error) { > > + cpu_set(cpu, frozen_cpus); > > + printk("CPU%d is down\n", cpu); > > + continue; > > + } > > + printk("Error taking cpu %d down: %d\n", cpu, error); > > } > > - printk("ok\n"); > > + BUG_ON(smp_processor_id() != 0); > > + if (error) > > + panic("cpus not sleeping"); > > } > > I'm not sure whether we should panic() here. It may be better to make > suspend fail and print a "please reboot immediately" message for the user. > In that case, the user may be able to reboot without loosing data > - ...
I guess I could just fail the suspend, but I want to see the messages for now. (And I do not think it will ever trigger). Pavel -- People were complaining that M$ turns users into beta-testers... ...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl! - 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/
|  |