aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)AuthorFilesLines
2016-07-07Change libtle_udp to use dring.Konstantin Ananyev9-505/+228
Right now didn't see any noticeable performance boost with these changes. Though it allowed to get rid of using locks at UDP TX code-path and simplify the code quite a lot. Change-Id: If865abd3db9127f510df670d9a8edb168b915770 Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2016-07-07initial tle_dring implementationKonstantin Ananyev4-0/+613
The Dynamic Ring (dring) is a implementation of unbounded FIFO queue, that supports lockless bulk enqueue/dequeue for multiple producers/consumers. Internally it contains producer/consumer head/tail indexes (same as DPDK rte_ring), plus linked list of Dynamic Ring Blocks (drb)s. Each drb contains some metadata plus array of pointers to queued objects. It is a caller responsibility to provide sufficient number of drbs for enqueue operation, and manage unused drbs returned by dequeue operation. dring features: - FIFO (First In First Out) - Lockless implementation. - Multi- or single-consumer dequeue. - Multi- or single-producer enqueue. - Bulk dequeue. - Bulk enqueue. Change-Id: I3621c99c6b114a387036a397e79baa8d1588bdb5 Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2016-07-07Introduce extra layer of hierarchy to the makefiles.Konstantin Ananyev1-0/+26
Now each subdir in the TLDK_ROOT has it's own Makefile. In preparation for further project expansion. Change-Id: I80560680a8538734986941e8df343c5393c621cc Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2016-06-28libtle_udp: add missing license header for udp_rxtx.cKonstantin Ananyev1-0/+14
Change-Id: If31a72e07ffe4947297c722ce5624ea8ed5f101f Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2016-06-07Initial commit of tldk code.Konstantin Ananyev12-0/+3211
Change-Id: Ib96fdd2c57bae0a51ed420137c35eb8e2ee58473 Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Signed-off-by: Ed Warnicke <eaw@cisco.com>