Skip to content

direwolf 100% CPU occupancy with -n 1 option #131

@f6bvp

Description

@f6bvp

Context is Raspberry Pi 3 (quadcore) direwolf dev 1.5, Compass Linux 4.9.35-v7+ with UDRC II modem HAT board.
direwolf.conf options are standard for UDRC with ACHANNELS 2 as described in NW digital Radio doc.
Both CHANNELS speed are set to 1200 bauds.
Starting direwolf with simplest command line -t 0 and monitoring system with top utility gives less than 19% CPU occupancy.
With one CHANNEL speed is set to 9600 then CPU % raises up to 75% on average with rare peaks to 99% when a packet APRS frame is received and decoded.
With both CHANNEL set at 9600 then %CPU is 99.8-100.2 % and error message is displayed :
"Audio input device 0 error: Broken pipe" certainly related to CPU overload.
However changing direwolf.conf ACHANNELS 1 gives also constant 100 % CPU occupancy !
The same constant 100% CPU is obtained if entering option -n 1 with ACHANNELS 2 in direwolf.conf
even if both CHANNEL(s) are set to 1200 bauds.
Conclusion : a "wait" instruction may be missing somewhere in the code to let soft interrupts occur when single audio channel is selected.
Regards,
Bernard

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions