Messages in this thread | | | From | David Brownell <> | Subject | Re: [PATCH] Proposed fix for PM deadlock on dpm_sem | Date | Tue, 12 Oct 2004 16:19:20 -0700 |
| |
On Monday 11 October 2004 8:26 pm, Paul Mackerras wrote: > > This patch removes the deadlocks by adding a new semaphore, called > dpm_list_sem, which serializes changes to the power management lists > (dpm_active et al.). We hold dpm_sem during calls to suspend_device > and resume_device but not dpm_list_sem.
Looks pleasantly simple, I'll have to try it! I recall that Patrick's patch also removed these comments ... methinks they're the reason I wanted to avoid patching this myself, they make it sound like there's a big deal. Of course, (a) is one side of the bug so it's got to go, but the other two were less obvious to me. It looked like (b) was undesirable prevention-of-concurrency, but (c) might matter for the system-suspend cases.
- Dave
> - * Note this function leaves dpm_sem held to > - * a) block other devices from registering. > - * b) prevent other PM operations from happening after we've begun. > - * c) make sure we're exclusive when we disable interrupts.
- 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/
| |