ring_queue: importing lockless FIFO queue from DPDK/FreeBSD

Direct import of DPDK rte_ring to make it easier to track the changes
done for for kernel adaptation.

The porting is based on top of DPDK
 commit 5e8446dc6b41947 ("eal: cleanup on mempool and memzone object names")

Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
ring_queue: checkpatch adapt to kernel style

Fix whitespace and other style issues reported by checkpatch.

Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
ring_queue: Producer/Consumer ring based pointer queue

The name "ring_queue" is choosen, for this Producer/Consumer
ring based pointer queue.

Red Hat legal department have cleared we can import this BSD code.
Right now it states GPL license, but I want to have a dual GPL/BSD
license to respect the original BSD code.

Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
ring_queue: possible issues with implementation

This patch marks some points in the implementation that needs
extra careful review.

Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
ring_queue_test: Sample module for linux/ring_queue.h usage

Added a module for testing and benchmarking the ring_queue implementation.

Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>