Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932119Ab3EaVNh (ORCPT ); Fri, 31 May 2013 17:13:37 -0400 Received: from mail-oa0-f47.google.com ([209.85.219.47]:39049 "EHLO mail-oa0-f47.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756181Ab3EaVNb (ORCPT ); Fri, 31 May 2013 17:13:31 -0400 MIME-Version: 1.0 In-Reply-To: <1515063.BZy7p4GtyV@vostro.rjw.lan> References: <1368221329-1841-1-git-send-email-zoran.markovic@linaro.org> <3006354.hOxNuWCXu4@vostro.rjw.lan> <1515063.BZy7p4GtyV@vostro.rjw.lan> Date: Fri, 31 May 2013 14:13:30 -0700 Message-ID: Subject: Re: [RFC PATCHv2 1/2] drivers: power: Add watchdog timer to catch drivers which lockup during suspend/resume. From: Zoran Markovic To: "Rafael J. Wysocki" Cc: Colin Cross , lkml , Linux PM list , Benoit Goby , Android Kernel Team , Todd Poynor , San Mehat , John Stultz , Pavel Machek , Len Brown , Greg Kroah-Hartman Content-Type: text/plain; charset=ISO-8859-1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1178 Lines: 24 >> We could do cancel_work_sync() as a recovery, but that call blocks until the >> running async task is flushed, which might never happen. So doing a panic() >> is pretty much the only option for recovering. > > Well, its usefulness is quite limited, then. That said I'm still not convinced > that this actually is the case. It does block in my environment, AFAICS. Looking a bit further in the code, it looks like dpm_suspend() does an async_synchronize_full() which would wait for all async tasks to complete. This is a show-stopper because (under the circumstances) the assumption that every async suspend routine eventually completes doesn't hold. We could possibly select which async tasks to wait for, but this would add unnecessary complexity to a feature targeted for debugging. It seems that this approach - although sounding reasonable - needs to wait until we have a mechanism to cancel an async task. Regards, Zoran -- 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/