Linux Power Management development
 help / color / mirror / Atom feed
From: Takashi Iwai <tiwai@suse.de>
To: Ricardo Ribalda <ribalda@chromium.org>
Cc: Takashi Iwai <tiwai@suse.com>, Len Brown <len.brown@intel.com>,
	Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>,
	Kai Vehmanen <kai.vehmanen@linux.intel.com>,
	Ranjani Sridharan <ranjani.sridharan@linux.intel.com>,
	Mark Brown <broonie@kernel.org>, Jaroslav Kysela <perex@perex.cz>,
	Pavel Machek <pavel@ucw.cz>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	alsa-devel@alsa-project.org,
	"Joel Fernandes (Google)" <joel@joelfernandes.org>,
	linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org
Subject: Re: [PATCH v3 0/2] ALSA: core: Fix deadlock when shutdown a frozen userspace
Date: Mon, 28 Nov 2022 10:24:07 +0100	[thread overview]
Message-ID: <87wn7fzb2g.wl-tiwai@suse.de> (raw)
In-Reply-To: <20221127-snd-freeze-v3-0-a2eda731ca14@chromium.org>

On Mon, 28 Nov 2022 10:10:12 +0100,
Ricardo Ribalda wrote:
> 
> Since 83bfc7e793b5 ("ASoC: SOF: core: unregister clients and machine drivers in .shutdown")
> we wait for userspace to close its fds.

IMO, the fix above brought more problem.  If you'd need to want to
avoid later accesses during shutdown, the driver should rather just
disconnect devices without waiting for the user-space completion.
And, for that, a simple call of snd_card_disconnect() should suffice.

> But that will never occur with a frozen userspace (like during kexec()).
> 
> Lets detect the frozen userpace and act accordingly.

... and skipping the user-space sync at snd_card_disconnect_sync() as
of this patch set is a dangerous move, I'm afraid.  The user-space
gets frozen also at the normal suspend/resume, and it implies that the
sync will be lost even for the normal PM, too (although it must be a
very corner case).


thanks,

Takashi

> 
> To: Jaroslav Kysela <perex@perex.cz>
> To: Takashi Iwai <tiwai@suse.com>
> To: "Rafael J. Wysocki" <rafael@kernel.org>
> To: Pavel Machek <pavel@ucw.cz>
> To: Len Brown <len.brown@intel.com>
> To: Kai Vehmanen <kai.vehmanen@linux.intel.com>
> To: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
> To: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
> To: Mark Brown <broonie@kernel.org>
> Cc: alsa-devel@alsa-project.org
> Cc: linux-kernel@vger.kernel.org
> Cc: "Joel Fernandes (Google)" <joel@joelfernandes.org>
> Cc: linux-pm@vger.kernel.org
> Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
> ---
> Changes in v3:
> - Wrap pm_freezing in a function
> - Link to v2: https://lore.kernel.org/r/20221127-snd-freeze-v2-0-d8a425ea9663@chromium.org
> 
> Changes in v2:
> - Only use pm_freezing if CONFIG_FREEZER 
> - Link to v1: https://lore.kernel.org/r/20221127-snd-freeze-v1-0-57461a366ec2@chromium.org
> 
> ---
> Ricardo Ribalda (2):
>       freezer: Add processes_frozen()
>       ALSA: core: Fix deadlock when shutdown a frozen userspace
> 
>  include/linux/freezer.h |  2 ++
>  kernel/freezer.c        | 11 +++++++++++
>  sound/core/init.c       | 13 +++++++++++++
>  3 files changed, 26 insertions(+)
> ---
> base-commit: 4312098baf37ee17a8350725e6e0d0e8590252d4
> change-id: 20221127-snd-freeze-1ee143228326
> 
> Best regards,
> -- 
> Ricardo Ribalda <ribalda@chromium.org>
> 

  parent reply	other threads:[~2022-11-28  9:24 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-28  9:10 [PATCH v3 0/2] ALSA: core: Fix deadlock when shutdown a frozen userspace Ricardo Ribalda
2022-11-28  9:10 ` [PATCH v3 1/2] freezer: Add processes_frozen() Ricardo Ribalda
2022-11-28  9:10 ` [PATCH v3 2/2] ALSA: core: Fix deadlock when shutdown a frozen userspace Ricardo Ribalda
2022-11-28  9:24 ` Takashi Iwai [this message]
2022-11-28  9:26   ` [PATCH v3 0/2] " Ricardo Ribalda
2022-11-28  9:53     ` Takashi Iwai
2022-11-28 13:34       ` Ricardo Ribalda
2022-11-28  9:26 ` Oliver Neukum

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87wn7fzb2g.wl-tiwai@suse.de \
    --to=tiwai@suse.de \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=joel@joelfernandes.org \
    --cc=kai.vehmanen@linux.intel.com \
    --cc=len.brown@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=pavel@ucw.cz \
    --cc=perex@perex.cz \
    --cc=pierre-louis.bossart@linux.intel.com \
    --cc=rafael@kernel.org \
    --cc=ranjani.sridharan@linux.intel.com \
    --cc=ribalda@chromium.org \
    --cc=tiwai@suse.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox