alf_queue_concurrency: testing alf queue with several kthreads

This test tries to provoke concurrency errors with the alf_queue.

In this test multiple concurrent producers(enqueue) tries to race
agaist each-ther while a single consumer(dequeue) is running
concurrently with producers.

Validation test: Producers will enqueue their id and a constantly
increasing serial number into the queue.  The single consumer will
dequeue and keep track of all producers serial number, and validate
that this number is strictly increasing by one.  This validates no
elements gets lost, due to incorrect concurrency handling.

This test mostly stress the enqueue code path for concurrency issues,
while the dequeue code path is not coverted very well.

Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
alf_queue_concurrency: add benchmark measurement of dequeue cost

Measure the cost of dequeuing an element in the case of
concurrent producers enqueueing.  This should measure the worst
effect producers/enqueuers can cause for a single consumer.

Notice the concurrent producers will be reading consumer.tail,
which is bad for the consumer/dequeuer as it need to write to
this cache line.

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