qmempool: alf_queue can use full ring size now

After commit d6e3e655f ("alf_queue: allow full usage of the ring"),
alf_queue can use full ring size, thus some creation restrictions can
be lifted for qmempool_create.

Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
qmempool: cleanup qmempool before upstream submit attempt

Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
qmempool: enq/deq return value is the number of elements

It is a little confusing the return variable, from alf_*_enqueue() and
alf_*_dequeue() is saved in a variable named "res".  They will always
return the number of elements. Thus, rename return variable from "res"
to "num" to better indicate this.

Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
qmempool: bug fix, __qmempool_free_to_slab() cannot assume QMEMPOOL_BULK

The function __qmempool_free_to_slab() cannot assume that "elems"
contains QMEMPOOL_BULK number of elements .  The alf_queue dequeue API
is allowed to return less elements than requested.

If is highly unlikely that this bug can ever occur, as
__qmempool_free_to_slab() is called from __qmempool_free_to_sharedq()
when the localq is full, thus it should always be able to dequeue the
requested QMEMPOOL_BULK number of elements.

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