On Wed, Jun 17, 2015 at 7:00 AM, Lakshmi Narasimhan Sundararajan <
lakshm...@msystechnologies.com> wrote:

> [lakshmis@mau-bsd-10a ~/fortville/hol/sys/dev/ixl]$ diff -c5pt ixl_txrx.c
> ixl_txrx.c.mod
> *** ixl_txrx.c Fri Jun 12 06:56:51 2015
> --- ixl_txrx.c.mod Fri Jun 12 06:56:33 2015
> *************** ixl_mq_start(struct ifnet *ifp, struct m
> *** 96,112 ****
> --- 96,115 ----
>                   } else
>   #endif
>                           i = m->m_pkthdr.flowid % vsi->num_queues;
>           } else
>                   i = curcpu % vsi->num_queues;
> +
> + #if 0
>           /*
>           ** This may not be perfect, but until something
>           ** better comes along it will keep from scheduling
>           ** on stalled queues.
>           */
>           if (((1 << i) & vsi->active_queues) == 0)
>                   i = ffsl(vsi->active_queues);
> + #endif
>
>           que = &vsi->queues[i];
>           txr = &que->txr;
>
>           err = drbr_enqueue(ifp, txr->br, m);
> [lakshmis@mau-bsd-10a ~/fortville/hol/sys/dev/ixl]$
>

My understanding is that this code is intended to be triggered as a last
resort.  If that code is firing regularly then the driver is not correctly
tracking which queues are alive in the "active_queues" bitmask.
_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"

Reply via email to