discuss-gnuradio
[Top][All Lists]
Advanced

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

[Discuss-gnuradio] OS/X, circular buffers, etc


From: Eric Blossom
Subject: [Discuss-gnuradio] OS/X, circular buffers, etc
Date: Wed, 7 Jan 2004 13:24:25 -0800
User-agent: Mutt/1.4.1i

I've refactored the VrBuffer code that manages the low level virtual
memory implemented circular buffers.  GNU Radio now implements three
different strategies for implementing the buffers.

The 3 methods available are:

    SysV shared memory  (original technique)
    shm_open and mmap
    tmp file and mmap

There's too much hair to do a complete test at configure time, so part
of the testing is done at configure time and the rest is done the
first time GNU Radio is run.  The technique to use is stored in
~/.gnuradio/prefs/gr_vmcircbuf_default_factory

I've tested the three methods on the following systems.  At least one of
them works for each system.

  * Mandrake Linux 9.2 (intel x86) with Linux 2.4.22 kernel
  * some x86 debian with a 2.2 kernel
  * OS/X 10.2 (Power PC)
  * FreeBSD 4.9 (intel x86)
  * RedHat 9.0 (intel x86)
  * SuSE something or the other on an AMD Opteron
  * some GNU/Linux on an Alpha


gnuradio/src/gnu/tests/test_vmcircbuf will exercise all three methods.
The -v option gives detailed information about the number and sizes of
allocations tested.

If you're curious as to how this was implemented, take a look at
gnuradio/src/gnu/lib/grbase/gr_vmcircbuf*.{h,cc}.

I'd appreciate it if folks can give this a try on non GNU/Linux
systems.  Please use CVS HEAD, directions below.

Note that due to some ongoing problems on savannah.gnu.org,
I'm unable to update the web site with all of this info.  

Eric

----------------------------------------------------------------

Anonymous CVS Access

GNU Radio's CVS repository can be checked out through anonymous CVS
over SSH with the following instructions. When prompted for a
password for anoncvs, simply press the Enter key.

The SSHv2 public key fingerprints for the machine hosting the cvs trees are:

RSA: 1024 80:5a:b0:0c:ec:93:66:29:49:7e:04:2b:fd:ba:2c:d5
DSA: 1024 4d:c8:dc:9a:99:96:ae:cc:ce:d3:2b:b0:a3:a4:95:a5


$ export CVS_RSH="ssh"

$ cvs -z3 -d:ext:address@hidden:/cvsroot/gnuradio co gnuradio

----------------------------------------------------------------





reply via email to

[Prev in Thread] Current Thread [Next in Thread]