alf_queue: minor adjustment change index to be u32 in "unroll"

No measurable performance change.
Assembler code only change one instruction (cltq) into a just a costly
instruction (mov %eax,%eax).

Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
alf_queue: adjust the "space" calculation

Adjust the calculation of avail space slightly.

Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
alf_queue: optimization, reduce/remove some mask-AND operations

By keeping the head and tail counters as free flowing u32 bit values,
then it is possible to save some masking AND-operations.  Due to u32
arithmetic the values are implicitly masked/modulo 32-bit, when
subtracted from each-other.

The performance number are impressive. The ALF-queue is now slightly
faster than the DPDK ported ring_queue.

Comparing DPDK -> ALF-queue without this patch -> with patch:

 (none-bulking)
         (DPDK)    -> (alf)     -> (this commit)
 simple:  9.326 ns ->  9.644 ns ->  8.727 ns
 multi : 12.690 ns -> 13.925 ns -> 12.853 ns

 (bulking)
         (DPDK)   -> (alf)    -> (this commit)
 bulk2 : 5.861 ns -> 5.837 ns -> 5.352 ns
 bulk4 : 3.052 ns -> 3.046 ns -> 3.053 ns
 bulk6 : 2.222 ns -> 2.153 ns -> 2.124 ns
 bulk8 : 1.857 ns -> 1.783 ns -> 1.755 ns
 bulk16: 1.169 ns -> 1.120 ns -> 1.120 ns

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