[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linrad] Linrad-01.16

Hi all,

There have been reports about "Out of memory" messages
from Linrad-01-15. These messages are generated because
Linrad fails to lock memory to RAM to avoid swapping
code or data to the hard disk.

The memory locking was introduced in Linrad-01.12 because
I became aware that some erratic behaviour was due to 
swapping. A real time package like Linrad should not be
swapped. The operator is responsible for selecting parameters
that are compatible with the amount of RAM available.

Memory locking is with memlockall(). Since this call fails
on some systems for unknown reasons, Linrad-01.16 has a new
option in the general setup (par_userint) that disables
calls to memlockall(). If you have enough memory or turn 
off swapping Linrad will run fine even if you turn off
memory locking.

01-16 also contains several adjustments that lead to a tighter
control of program flow. You will probably find it seems to
run faster. I have tested it on a 266 MHz Pentium MMX and it
works with the RX2500 and the Delta44 sampling two radio channels
at a bandwidth of 96 kHz. The second FFT has to be disabled, but
if the noise blanker is not needed it works fine.

On the 2.7 GHz Pentium IV, full processing with blanker and AFC 
uses about 12% of the available CPU power. 

Feedback is welcome:)