Re: [linux-pm] Fundamental flaw in system suspend, exposed by freezer removal

From: Rafael J. Wysocki
Date: Thu Feb 28 2008 - 19:02:51 EST


On Thursday, 28 of February 2008, Alan Stern wrote:
> Rafael:

Hi,

> Here's my patch. It doesn't include the timers for deadlock debugging,
> but it does include all the other stuff we've been talking about. My
> base probably isn't quite in sync with yours, so this may not apply
> cleanly on your system. But the divergences should be small.

No big deal. In fact we're working with Alex on a patch that modifies main.c
too, so I'll have to resolve merging conflicts anyway. ;-)

> Incidentally, there seemed to be a bug in your dpm_suspend() -- the
> dpm_list_mtx needs to be reacquired before the error checking.

Oh, yes. Will you please send a fix when
http://marc.info/?l=linux-acpi&m=120389632114090&w=4 is merged?

> This patch fixes that. It also removes pm_sleep_rwsem, which isn't used
> any more.

Yeah. I left pm_sleep_rwsem, because I wasn't sure it would be necessary
in the future.

> We should think about device_pm_schedule_removal(). It won't work
> right if a suspend method calls it for the device being suspended,
> because the device gets moved to the dpm_off list after the method
> runs.

I think we should remove device_pm_schedule_removal() early in the 2.6.26
cycle.

I'll review the patch more thoroughly tomorrow, since I have some new material
for the regressions list I need to take care of.

Thanks,
Rafael
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/