[Gta04-owner] alsaloop and poll issues with the modem ALSA driver.

Simon Busch morphis at gravedo.de
Sun May 20 20:42:24 CEST 2012


On 20.05.2012 19:09, Dr. H. Nikolaus Schaller wrote:
> 
> Am 20.05.2012 um 18:24 schrieb Denis 'GNUtoo' Carikli:
> 
>> Hi,
>> I am trying to get a good forwarder to work on the gta04 A3 for SHR
>> (The forwarder is the main blocking thing for me, since I've no gta04 A4).
>>
>> Here are the result from debugging alsaloop:
>> If the modem is in call, the poll system call behave normally:
>> poll took 246094us //from alsaloop
>> but if the modem is not in a call:
>> the poll will take a lot less:
>> poll took 31us //from alsaloop
>> which will result in 100% or near 100% CPU usage.

What does "in call" really mean? An active or outgoing call?

>> I think that the right thing is to fix the audio driver or the ASOC framework.
> 
> This may have to do with the PCM clock/frame sync that is coming
> from the modem. And it starts only at the moment the connection is
> established.
> 
> Maybe, a poll() before the clock arrives fails and returns some error.
> Could be some error that isn't reported to the user space.
> 
> Radek & Neil may know a little more about this.
> 
> To reduce CPU usage, you could try to find some indication about
> being in call/not in call and sleep the forwarder process a little.

Can't we power up the alsaloop thing only when a call is active and
disable it just when a call ends?

Hm, if I look into the gsmvoice_alsa_forwarder plugin of fsoaudiod it's
already done this way or do I miss some tiny detail?

regards,
Simon

-- 
Simon Busch - http://mm.gravedo.de/blog/


More information about the Gta04-owner mailing list