Hello all,
Logistical:
- Pencils down is upon us so the rest of the week will be spent on
getting
all my documentation in order. This includes cleaning the code on
github,
keystone2 wiki page
http://gnuradio.org/redmine/projects/gnuradio/wiki/Keystone2
runtime wiki page
http://gnuradio.org/redmine/projects/gnuradio/wiki/runtime - Final Evaluations due this Friday
Progress:
-
I have pushed the tcp3d test that passes the llrs from the arm and the
dsp processes them on the tcp3d then the arm checks whether they match
the
expected result. GitHub - muniza/tcp3d_dsp_test: Testing the Keystone2 Turbo Decoder -
I have some code that modifies GNU Radio runtime to isolate blocks
based
on flags we set in the blocks constructor. This will enable us to treat
certain blocks differently such as putting the buffer in a different
location in memory. Also is code that exposes the buffer object to the
work
function so that we can get the start address and size of the buffer in
bytes. GitHub - muniza/gnuradio: GSoC Buffer Management -
I have an OOT module that passes a struct with the gnuradio buffer
start
address and size to a kernel module using ioctl.
GitHub - muniza/gr-buffertest: GNU Radio Test for Deep Buffer Manipulation -
Lastly the kernel module that runs get_user_pages on the gnuradio
buffer
struct. GitHub - muniza/gsoc_2014
Plan:
I did more research on the contigous memory allocation method and I now
see
that it is not a good zero-copy solution for ALL the devices we want to
support. A good discussion is available on the linux kernel news site
that
discusses the reasons for NOT integrating ION, another contigous memory
allocator, into the linux kernel: Integrating the ION memory allocator [LWN.net]. I’m
still going to get a minimal CMEM GPLv3 integrated into GNU Radio as a
stepping stone for modifying runtime and using zero copy with the
keystone.
This shouldn’t take long at all since I just need ioctl. For part of my
talk at the conference, I am going to discuss this method of contigous
memory along with positives and negatives as it relates to GNU Radio and
a
couple of devices. I’m also hoping to make more progress so I can show
the
integration of the get_user_pages dma method but we’ll have to see what
happens when I’m back at Penn. I think a discussion of various methods
this
will bring up good conversation for the coproc working group.
Expect one more update to mark the finishing of documentation on Friday.
I’ll also cry a little and give thanks to those that helped but thats in
a
couple of days.