Date: Wed, 17 Jun 2015 15:17:51 -0400 From: Ryan Stone <rysto32@gmail.com> To: Lakshmi Narasimhan Sundararajan <lakshmi.n@msystechnologies.com> Cc: freebsd-net <freebsd-net@freebsd.org>, "Tallam, Sreen" <sreen@panasas.com>, "Kloss, Joe" <jkloss@panasas.com>, "Pokala, Ravi" <rpokala@panasas.com>, "Lewis, Fred" <flewis@panasas.com> Subject: Re: Reg Intel Fortville IXL driver on 11-CURRENT Message-ID: <CAFMmRNwF%2BgcGNDw47JO06EBAr_DAgS7oLUp4h6=o88pZO9QW2A@mail.gmail.com> In-Reply-To: <CA%2BNkpghE=Y2aWJ3pJorR7%2BC75wVL=SMdiCx_ufmKRUx7_cvwHw@mail.gmail.com> References: <CA%2BNkpghE=Y2aWJ3pJorR7%2BC75wVL=SMdiCx_ufmKRUx7_cvwHw@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Jun 17, 2015 at 7:00 AM, Lakshmi Narasimhan Sundararajan < lakshmi.n@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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFMmRNwF%2BgcGNDw47JO06EBAr_DAgS7oLUp4h6=o88pZO9QW2A>