My work from over summer, with a few things tidied up and updated to include recent commits/patches to bring this up to date. Still very much work in progress.
Add info about the project to the readme
Remove include for xmmintrin.h which was used for a busy spinning pause __mm_pause() in the ring buffer, instead we are using sched_yeild() anyway and this will most likely be replaced with a condition variable in the future.
Now we support non Intel x86/x64 systems which don't have xmmintrin.h.
Move the data structures out of the way and into there own folder and tidy file naming.
Missing assert.h in message_queue.c
Use size_t rather than int for the data structures. Export vector, deque and ring_buffer for testing and use in programs.
Remove some inlines for now since these result in lots of compile warnings when also exported, the compiler is probably smart enough anyway.
Add tests for deque, ring_buffer and vector.
Remove inline functions that cause compile warnings when building external applications.
Fix type warnings in ring buffer test
Add in a variable libtrace_parallel, first set when using the parallel functions. This ensures backwards compatibility with trace_destroy() calling fin_packet(), which will can segfault if the trace is already destroyed first like many existing programs do.
This means the tests pass again.
Rename from google map/reduce framework names to something more meaningful.
Rename mapper to perpkt since this is what it actually is in libtrace.
Send any debug to stderr that way I can check program outputs easier.
Add a script that runs parallel and single threaded version of tools I've converted and records the time and other useful stats.
Mainly added for backup purposes as this is most likely unneeded/wanted in an actual Libtrace release.