Re: [PATCH 23/25] ALSA/dummy: Replace tasklet with softirq hrtimer

From: Takashi Iwai
Date: Thu Aug 31 2017 - 10:26:58 EST


On Thu, 31 Aug 2017 16:21:17 +0200,
Takashi Sakamoto wrote:
>
> Hi,
>
> On Aug 31 2017 21:23, Anna-Maria Gleixner wrote:
> > From: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> >
> > The tasklet is used to defer the execution of snd_pcm_period_elapsed() to
> > the softirq context. Using the CLOCK_MONOTONIC_SOFT base invokes the timer
> > callback in softirq context as well which renders the tasklet useless.
> >
> > Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> > Signed-off-by: Anna-Maria Gleixner <anna-maria@xxxxxxxxxxxxx>
> > Cc: Jaroslav Kysela <perex@xxxxxxxx>
> > Cc: Takashi Iwai <tiwai@xxxxxxxx>
> > Cc: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx>
> > Cc: alsa-devel@xxxxxxxxxxxxxxxx
> > ---
> > sound/drivers/dummy.c | 16 +++-------------
> > 1 file changed, 3 insertions(+), 13 deletions(-)
>
> I prefer this patch as long as this driver can still receive callbacks
> from hrtimer subsystem.
>
> Reviewed-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx>
>
> Unfortunately, I have too poor machine to compile whole kernel now, thus
> didn't do any tests, sorry.
>
> I note that ALSA pcsp driver uses a combination of hrtimer/tasklet for the
> same purpose. I think we can simplify it, too. Please refer to a patch in
> the end of this message. (But not tested yet for the above reason...)

The pcsp is a bit special. It's really high frequent irq calls for
controlling the beep on/off, thus offloading the whole isn't good.


thanks,

Takashi