From: "Péter Ujfalusi" <peter.ujfalusi@linux.intel.com>
To: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>,
Kai Vehmanen <kai.vehmanen@linux.intel.com>,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: alsa-devel@alsa-project.org, Jaroslav Kysela <perex@perex.cz>,
Takashi Iwai <tiwai@suse.com>,
Cezary Rojewski <cezary.rojewski@intel.com>,
Liam Girdwood <liam.r.girdwood@linux.intel.com>,
Bard Liao <yung-chuan.liao@linux.intel.com>,
Ranjani Sridharan <ranjani.sridharan@linux.intel.com>,
Mark Brown <broonie@kernel.org>,
Daniel Baluta <daniel.baluta@nxp.com>,
linux-kernel@vger.kernel.org,
sound-open-firmware@alsa-project.org
Subject: Re: [PATCH v4 01/11] ASoC: SOF: core: add 'no_wq' probe and remove callbacks
Date: Mon, 11 Sep 2023 09:51:41 +0300 [thread overview]
Message-ID: <e8880daf-8f74-4350-96c4-d625272aed35@linux.intel.com> (raw)
In-Reply-To: <6d39eac7-06c7-45f0-0318-72be1753641f@linux.intel.com>
On 07/09/2023 20:29, Pierre-Louis Bossart wrote:
>> I think find all this very confusing, because there is no workqueue used
>> in the remove steps. The workqueue is only used ONCE during the probe.
>
> Maybe we should just remove any references to workqueues, and have
>
> probe_start (cannot run in a wq)
> probe (may run in a wq)
> remove (cannot run in a wq, needs to call cancel_work_sync() if the
> probe runs in a wq)
> remove_last (cannot run in a wq, releases all resources acquired in
> probe_start)
>
> Or something similar that shows the symmetry between steps and when the
> wq is allowed.
What we have atm:
snd_sof_probe - might be called from wq
snd_sof_remove - might be called from wq (cleans up the snd_sof_probe
step)
We want a callbacks for hardware/device probing, right, split the
snd_sof_probe (and remove) to be able to support a sane level of
deferred probing support.
With that in mind:
snd_sof_device_probe - Not called from wq (to handle deferred probing)
snd_sof_probe - might be called from wq
snd_sof_remove - might be called from wq (cleans up the snd_sof_probe
step)
snd_sof_device_remove - Not called from wq (to up the
snd_sof_device_probe step)
Naming option: s/device/hardware
However, I think the snd_sof_device_remove itself is redundant and we
might not need it at all as in case we have wq and there is a failure in
there we do want to release resources as much as possible. The module
will be kept loaded (no deferred handling in wq) and that might block
PM, other devices to behave correctly. Iow, if the wq has failure we
should do a cleanup to the best effort to reach a level like the driver
is not even loaded.
Doable? I thin it is.
--
Péter
next prev parent reply other threads:[~2023-09-11 6:52 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-30 15:36 [PATCH v4 00/11] sound: Use -EPROBE_DEFER instead of i915 module loading Maarten Lankhorst
2023-08-30 15:36 ` [PATCH v4 01/11] ASoC: SOF: core: add 'no_wq' probe and remove callbacks Maarten Lankhorst
2023-08-30 17:13 ` Pierre-Louis Bossart
2023-08-31 10:44 ` Maarten Lankhorst
2023-09-01 12:22 ` Kai Vehmanen
2023-09-01 12:15 ` Kai Vehmanen
2023-09-01 12:44 ` Péter Ujfalusi
2023-09-05 12:37 ` Pierre-Louis Bossart
2023-09-07 17:29 ` Pierre-Louis Bossart
2023-09-11 6:51 ` Péter Ujfalusi [this message]
2023-09-12 0:25 ` Pierre-Louis Bossart
2023-09-12 6:10 ` Péter Ujfalusi
2023-09-12 14:02 ` Pierre-Louis Bossart
2023-08-30 15:36 ` [PATCH v4 02/11] ASoC: SOF: Intel: hda: start splitting the probe Maarten Lankhorst
2023-08-30 15:36 ` [PATCH v4 03/11] ALSA: hda/intel: Fix error handling in azx_probe() Maarten Lankhorst
2023-08-30 15:36 ` [PATCH v4 04/11] ALSA: hda/i915: Allow override of gpu binding Maarten Lankhorst
2023-08-30 15:36 ` [PATCH v4 05/11] ALSA: hda/i915: Add an allow_modprobe argument to snd_hdac_i915_init Maarten Lankhorst
2023-08-30 15:36 ` [PATCH v4 06/11] ALSA: hda/i915: Allow xe as match for i915_component_master_match Maarten Lankhorst
2023-08-30 15:36 ` [PATCH v4 07/11] ASoC: Intel: avs: Move snd_hdac_i915_init to before probe_work Maarten Lankhorst
2023-08-31 10:14 ` Amadeusz Sławiński
2023-08-30 15:36 ` [PATCH v4 08/11] ASoC: Intel: Skylake: " Maarten Lankhorst
2023-08-31 10:15 ` Amadeusz Sławiński
2023-08-30 15:36 ` [PATCH v4 09/11] ALSA: hda/intel: " Maarten Lankhorst
2023-08-30 15:36 ` [PATCH v4 10/11] ASoC: SOF: Intel: Move binding to display driver outside of deferred probe Maarten Lankhorst
2023-08-30 23:06 ` kernel test robot
2023-08-30 23:59 ` kernel test robot
2023-09-01 12:33 ` Kai Vehmanen
2023-08-30 15:36 ` [PATCH v4 11/11] ALSA: hda/i915: Remove extra argument from snd_hdac_i915_init Maarten Lankhorst
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=e8880daf-8f74-4350-96c4-d625272aed35@linux.intel.com \
--to=peter.ujfalusi@linux.intel.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=cezary.rojewski@intel.com \
--cc=daniel.baluta@nxp.com \
--cc=kai.vehmanen@linux.intel.com \
--cc=liam.r.girdwood@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=perex@perex.cz \
--cc=pierre-louis.bossart@linux.intel.com \
--cc=ranjani.sridharan@linux.intel.com \
--cc=sound-open-firmware@alsa-project.org \
--cc=tiwai@suse.com \
--cc=yung-chuan.liao@linux.intel.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