From: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
To: Takashi Iwai <tiwai@suse.de>
Cc: alsa-devel@alsa-project.org, Jaroslav Kysela <perex@perex.cz>
Subject: Re: [PATCH 6/8] ALSA: emu10k1: add support for 2x/4x word clocks in E-MU D.A.S. mode
Date: Tue, 13 Jun 2023 16:00:34 +0200 [thread overview]
Message-ID: <ZIh2gp/I4ot326KP@ugly> (raw)
In-Reply-To: <87edmfei0o.wl-tiwai@suse.de>
On Tue, Jun 13, 2023 at 01:08:55PM +0200, Takashi Iwai wrote:
>On Tue, 13 Jun 2023 12:52:43 +0200,
>Oswald Buddenhagen wrote:
>>
>> On Tue, Jun 13, 2023 at 11:20:23AM +0200, Takashi Iwai wrote:
>> > Creating and removing the controls from kctl put callback is no
>> > good
>> > idea. In general, dynamic control creation/deletion already confuses
>> > user-space.
>> >
>> i kind of expected that, but what i've tried so far worked remarkably
>> well (ok, it was mostly alsamixer).
>>
>> > On top of that, if it's done by a control element, it can
>> > be even triggered endlessly by user.
>> >
>> it shouldn't, because there is no circularity between the
>> controls. even if the app sets all controls as a response to new ones
>> appearing, the second round will be a no-op for the multiplier
>> control, and therefore causes no new creation/deletion notifications,
>> and thus terminates the recursion.
>
>Hmm I don't get it; if an application just toggles the kctl value
>between two values in an infinite loop, it'll delete and recreate
>kctls endlessly as well with your patch, no?
>
yeah, but why should it toggle just so? it's not reasonable to do that.
and if we assume it's being unreasonable, then there is no reason to
think that controls appearing and disappearing would be special.
>> also, i don't think that disabling would be fundamentally different
>> from deleting: the particular code paths taken are somewhat different,
>> but the high-level view is essentially the same. so we can't really
>> make predictions which one would work better.
>
>Creating and deleting needs a lot of different works and much heavier
>tasks.
>
it's entirely plausible that an application would tear down structures
in response to controls being disabled, too.
>And, above all, many user-space programs will be borked if an
>element goes away, simply crashing. Some (rather rare) nice ones will
>still survive, though. I've learned this from the past.
>
yeah, but why should we care? it's not a regression when something new
doesn't work with some crappy pre-existing code.
>> > And, if we really have to create / delete a kctl element from some
>> > kctl action, don't do it in the callback but process in another work.
>> >
>> would that really improve anything?
>
>As a primary reason, I don't want to expose such a stuff. If you need
>such an unlocked version, you're already doing something very exotic,
>and in 99% cases, it's something that needs more care.
>
i don't see being "exotic" as something to avoid per se. and before
putting in "more care" i want to see some evidence that there is
actually a problem that needs to be addressed, in this place. esp. when
the proposed much more complex alternative hasn't been shown to be
actually better in relevant ways, even theoretically.
regards,
ossi
next prev parent reply other threads:[~2023-06-13 14:01 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-13 7:38 [PATCH 0/8] ALSA: emu10k1: add support for high-bitrate modes of E-MU cards Oswald Buddenhagen
2023-06-13 7:38 ` [PATCH 1/8] ALSA: emu10k1: introduce alternative E-MU D.A.S. mode Oswald Buddenhagen
2023-06-13 7:38 ` [PATCH 2/8] ALSA: emu10k1: improve mixer control naming in " Oswald Buddenhagen
2023-06-13 7:38 ` [PATCH 3/8] ALSA: emu10k1: set the "no filtering" bits on PCM voices Oswald Buddenhagen
2023-06-13 7:38 ` [PATCH 4/8] ALSA: emu10k1: make playback in E-MU D.A.S. mode 32-bit Oswald Buddenhagen
2023-06-13 7:38 ` [PATCH 5/8] ALSA: add snd_ctl_add_locked() Oswald Buddenhagen
2023-06-13 7:38 ` [PATCH 6/8] ALSA: emu10k1: add support for 2x/4x word clocks in E-MU D.A.S. mode Oswald Buddenhagen
2023-06-13 9:20 ` Takashi Iwai
2023-06-13 10:52 ` Oswald Buddenhagen
2023-06-13 11:08 ` Takashi Iwai
2023-06-13 14:00 ` Oswald Buddenhagen [this message]
2023-06-13 14:13 ` Takashi Iwai
2023-06-13 15:23 ` Oswald Buddenhagen
2023-06-13 15:43 ` Takashi Iwai
2023-06-13 17:14 ` Oswald Buddenhagen
2023-06-14 6:36 ` Takashi Iwai
2023-06-14 8:52 ` Oswald Buddenhagen
2023-06-14 9:16 ` Takashi Iwai
2023-06-14 10:53 ` Oswald Buddenhagen
2023-06-13 7:38 ` [PATCH 7/8] ALSA: emu10k1: add high-rate capture " Oswald Buddenhagen
2023-06-13 7:38 ` [PATCH 8/8] ALSA: emu10k1: add high-rate playback " Oswald Buddenhagen
2023-06-22 7:05 ` kernel test robot
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=ZIh2gp/I4ot326KP@ugly \
--to=oswald.buddenhagen@gmx.de \
--cc=alsa-devel@alsa-project.org \
--cc=perex@perex.cz \
--cc=tiwai@suse.de \
/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