Changeset a49a9eb for lib/libtrace_int.h


Ignore:
Timestamp:
07/30/14 18:44:16 (7 years ago)
Author:
Richard Sanger <rsangerarj@…>
Branches:
4.0.1-hotfixes, cachetimestamps, develop, dpdk-ndag, etsilive, libtrace4, master, ndag_format, pfring, rc-4.0.1, rc-4.0.2, rc-4.0.3, rc-4.0.4, ringdecrementfix, ringperformance, ringtimestampfixes
Children:
be3f75b
Parents:
41148f2
Message:

Add an object cache with thread local caches
All packets used by a trace are put through this.
Adds bulk read/write operations to the ringbuffer (used by the object cache)
Replace semaphores with condition variables to support these bulk operations.
Internally use bulk read operations from a single threaded formats to reduce lock overhead.
Replaces the asserts around pthread_* functions with a version that will still run the command if NDEBUG

File:
1 edited

Legend:

Unmodified
Added
Removed
  • lib/libtrace_int.h

    r50ce607 ra49a9eb  
    149149
    150150#include "data-struct/ring_buffer.h"
     151#include "data-struct/object_cache.h"
    151152#include "data-struct/vector.h"
    152153#include "data-struct/message_queue.h"
     
    317318        int packet_freelist_size;
    318319        /** The actual freelist */
    319         libtrace_ringbuffer_t packet_freelist;
     320        libtrace_ocache_t packet_freelist;
    320321        /** The number of packets that can queue per thread - XXX consider deadlocks with non malloc()'d packets that need to be released */
    321322        int perpkt_buffer_size;
Note: See TracChangeset for help on using the changeset viewer.