sched: fix grinder bug
sched: fix grinder bug

The rte_scheduler will get stuck and not deliver any more packets
if there are two active subports and then one of them stops enqueing
more packets. This is because of a bug in how the grinder state machines
are managed.

If a non-zero grinder is assigned (but not yet active), then the dequeue
would miss it and always return zero packets. The cure is to always
do a first pass over all grinders.

Signed-off-by: Stephen Hemminger <5939443bd6498ae9d7581c946dfbecf8ed1feac0@brocade.com>
Acked-by: Thomas Monjalon <ee2fa8b2681c737f775687e475dcbf2028a412f1@6wind.com>

venkynv/dpdk-mirror,msune/dpdk,msune/dpdk,john-mcnamara-intel/dpdk,tsphillips/dpdk-fork,john-mcnamara-intel/dpdk,msune/dpdk,john-mcnamara-intel/dpdk,mixja/dpdk,mixja/dpdk,john-mcnamara-intel/dpdk,tsphillips/dpdk-fork,mixja/dpdk,venkynv/dpdk-mirror,msune/dpdk,venkynv/dpdk-mirror,mixja/dpdk,tsphillips/dpdk-fork,venkynv/dpdk-mirror,tsphillips/dpdk-fork