As Ryan said, its there to keep queues marked as "hung" from getting more work scheduled on them. I really don't know what to make of it if commenting it out is somehow improving things :)
I would suggest more careful analysis of what is going wrong before committing anything like deleting this. Jack On Wed, Jun 17, 2015 at 12:17 PM, Ryan Stone <ryst...@gmail.com> wrote: > 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" > _______________________________________________ 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"