[Top][All Lists]
[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
----------------------------------------------------------------
- [Discuss-gnuradio] OS/X, circular buffers, etc,
Eric Blossom <=