Hi Everyone, As reported here https://lore.kernel.org/linux-pm/ZYvjiqX6EsL15moe@perf/ the device suspend-resume code running during system-wide PM transitions deadlock on low memory, because it attempts to acquire a mutex that's already held by it in those cases. This series addresses the issue by changing the resume code behavior to directly run the device PM functions synchronously if they cannot be scheduled for asynchronous executions (patch [3/3]). For this purpose, the async code is rearranged (patch [1/3]) and a new variant of async_schedule_dev() is introduced (patch [2/3]). Thanks!
On Wed, Dec 27, 2023 at 9:41 PM Rafael J. Wysocki <rjw@rjwysocki.net> wrote: > > Hi Everyone, > > As reported here > > https://lore.kernel.org/linux-pm/ZYvjiqX6EsL15moe@perf/ > > the device suspend-resume code running during system-wide PM transitions > deadlock on low memory, because it attempts to acquire a mutex that's > already held by it in those cases. > > This series addresses the issue by changing the resume code behavior > to directly run the device PM functions synchronously if they cannot > be scheduled for asynchronous executions (patch [3/3]). > > For this purpose, the async code is rearranged (patch [1/3]) and a > new variant of async_schedule_dev() is introduced (patch [2/3]). Given the lack of negative feedback, I've queued up this series for 6.8-rc1. Please let me know if there are any issues with that. Thanks!
On Tue, Jan 02, 2024 at 02:18:43PM +0100, Rafael J. Wysocki wrote: > On Wed, Dec 27, 2023 at 9:41 PM Rafael J. Wysocki <rjw@rjwysocki.net> wrote: > > > > Hi Everyone, > > > > As reported here > > > > https://lore.kernel.org/linux-pm/ZYvjiqX6EsL15moe@perf/ > > > > the device suspend-resume code running during system-wide PM transitions > > deadlock on low memory, because it attempts to acquire a mutex that's > > already held by it in those cases. > > > > This series addresses the issue by changing the resume code behavior > > to directly run the device PM functions synchronously if they cannot > > be scheduled for asynchronous executions (patch [3/3]). > > > > For this purpose, the async code is rearranged (patch [1/3]) and a > > new variant of async_schedule_dev() is introduced (patch [2/3]). > > Given the lack of negative feedback, I've queued up this series for 6.8-rc1. > > Please let me know if there are any issues with that. > > Thanks! > Hi Rafael We haven't seen any regression issue under our stress test. So, feel free to add Tested-by: Youngmin Nam <youngmin.nam@samsung.com> Thanks.
On Wed, Jan 3, 2024 at 5:39 AM Youngmin Nam <youngmin.nam@samsung.com> wrote: > > On Tue, Jan 02, 2024 at 02:18:43PM +0100, Rafael J. Wysocki wrote: > > On Wed, Dec 27, 2023 at 9:41 PM Rafael J. Wysocki <rjw@rjwysocki.net> wrote: > > > > > > Hi Everyone, > > > > > > As reported here > > > > > > https://lore.kernel.org/linux-pm/ZYvjiqX6EsL15moe@perf/ > > > > > > the device suspend-resume code running during system-wide PM transitions > > > deadlock on low memory, because it attempts to acquire a mutex that's > > > already held by it in those cases. > > > > > > This series addresses the issue by changing the resume code behavior > > > to directly run the device PM functions synchronously if they cannot > > > be scheduled for asynchronous executions (patch [3/3]). > > > > > > For this purpose, the async code is rearranged (patch [1/3]) and a > > > new variant of async_schedule_dev() is introduced (patch [2/3]). > > > > Given the lack of negative feedback, I've queued up this series for 6.8-rc1. > > > > Please let me know if there are any issues with that. > > > > Thanks! > > > Hi Rafael > > We haven't seen any regression issue under our stress test. > > So, feel free to add > > Tested-by: Youngmin Nam <youngmin.nam@samsung.com> Thank you!
© 2016 - 2025 Red Hat, Inc.