All of lore.kernel.org
 help / color / mirror / Atom feed
* Query regarding possibility of PM QoS unvote/vote when substream Pause/Resume called
@ 2017-06-21 17:58 bgoswami
  2017-06-23 13:49 ` Takashi Iwai
  0 siblings, 1 reply; 2+ messages in thread
From: bgoswami @ 2017-06-21 17:58 UTC (permalink / raw)
  To: alsa-devel; +Cc: plai

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.

  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.


Thanks and Regards,
Banajit Goswami

The Qualcomm Innovation Center, Inc. is a member of the Code Aurora 
Forum,
a Linux Foundation Collaborative Project

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Query regarding possibility of PM QoS unvote/vote when substream Pause/Resume called
  2017-06-21 17:58 Query regarding possibility of PM QoS unvote/vote when substream Pause/Resume called bgoswami
@ 2017-06-23 13:49 ` Takashi Iwai
  0 siblings, 0 replies; 2+ messages in thread
From: Takashi Iwai @ 2017-06-23 13:49 UTC (permalink / raw)
  To: bgoswami; +Cc: alsa-devel, plai

On Wed, 21 Jun 2017 19:58:24 +0200,
bgoswami@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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2017-06-23 13:49 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-06-21 17:58 Query regarding possibility of PM QoS unvote/vote when substream Pause/Resume called bgoswami
2017-06-23 13:49 ` Takashi Iwai

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.