Date: Fri, 18 Jan 2013 13:21:17 -0800 From: Luigi Rizzo <rizzo@iet.unipi.it> To: John Baldwin <jhb@freebsd.org> Cc: "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>, Adrian Chadd <adrian@freebsd.org> Subject: Re: two problems in dev/e1000/if_lem.c::lem_handle_rxtx() Message-ID: <CA%2BhQ2%2BiYBFTHa6Ay5KhzEMxXdvF4myteMmd3qGV3cqDR6bUjxw@mail.gmail.com> In-Reply-To: <201301181603.32393.jhb@freebsd.org> References: <1358519440.88044.YahooMailClassic@web121605.mail.ne1.yahoo.com> <201301181149.42277.jhb@freebsd.org> <CAJ-VmokRFrFeK33_8a7ObapR7OXO730k2f-uBC_pgKmEqZw0uw@mail.gmail.com> <201301181603.32393.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Jan 18, 2013 at 1:03 PM, John Baldwin <jhb@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2BhQ2%2BiYBFTHa6Ay5KhzEMxXdvF4myteMmd3qGV3cqDR6bUjxw>