[alsa-devel] Query regarding possibility of PM QoS unvote/vote when substream Pause/Resume called
Takashi Iwai
tiwai at suse.de
Fri Jun 23 15:49:41 CEST 2017
On Wed, 21 Jun 2017 19:58:24 +0200,
bgoswami at codeaurora.org wrote:
>
> Hi,
>
> Current ALSA core implementation has PM QoS vote/unvote calls in
> snd_pcm_hw_params() and snd_pcm_hw_free().
>
> However, this might have an implication in terms of power, as PM QoS
> vote would still be valid for that substream, even when the substream
> is paused. Especially for those cases, where, to avoid missing the
> QoS, one or more CPU cores might be prevented from entering into lower
> power mode (or power-collapse), as it might take longer to bring those
> cores out of power collapse. This might be specially more prominent
> when the period size is smaller.
>
> So, in an effort to optimize power (by whatever smaller amount), I
> was wondering, if it is better to remove the PM QoS vote
> (pm_qos_remove_request) when Pause (SNDRV_PCM_TRIGGER_PAUSE_PUSH) is
> called from user space (using IOCTL) for a particular substream.
> Similarly, PM QoS vote can be added (pm_qos_add_request) back, when
> user space (using IOCTL) calls Resume
> (SNDRV_PCM_TRIGGER_PAUSE_RELEASE) for that same substream.
It's a good question. The current calls in hw_params and hw_free with
a naive assumption about the usage pattern.
> I am looking for opinions from subject matter experts, to see if the
> proposed approach might have any unintended side-effects or any known
> limitation that I might be missing.
I don't see a bit side effect, but I'd like to look at the real gain
by such a chain. Could you test and measure? If we can see a
significant difference, we should try harder to narrow the window,
indeed.
thanks,
Takashi
More information about the Alsa-devel
mailing list