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. > Also, IIRC, acquiring mutexes are one of those magic points where the > scheduler may decide to switch things around in a preemption kernel. No, releasing mutexes (and any other place that makes a non-runnable thread runnable), and only if it wakes up a thread with a more important priority. -- John Baldwin _______________________________________________ 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"