Reg Intel Fortville IXL driver on 11-CURRENT

Ryan Stone rysto32 at gmail.com
Wed Jun 17 19:17:52 UTC 2015


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

> [lakshmis at 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 at 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.


More information about the freebsd-net mailing list