two problems in dev/e1000/if_lem.c::lem_handle_rxtx()

Luigi Rizzo rizzo at iet.unipi.it
Fri Jan 18 21:21:26 UTC 2013


On Fri, Jan 18, 2013 at 1:03 PM, John Baldwin <jhb at freebsd.org> wrote:

> On Friday, January 18, 2013 3:07:35 pm Adrian Chadd wrote:
> > For my purposes, rescheduling the taskqueue means that other things
> > (such as TX, reset processing, other state handling, etc) can run
> > before the next pass at RX completion.
>
> That only works if your taskqueue thread has a priority <= those things.  I
> think the e1000 drivers use the same priority for their taskqueue threads
> as
> the ithreads use, so the effectively preempt just about everything and are
> not
> preempted by other task queues or swi threads, etc.
>
>
ok this also explains why i see livelock. I hate priorities!

luigi


More information about the freebsd-net mailing list