How should a driver shutdown a taskqueue on detach?

Konstantin Belousov kostikbel at gmail.com
Wed Jul 1 21:32:47 UTC 2015


On Wed, Jul 01, 2015 at 05:09:27PM -0400, Ryan Stone wrote:
> On Wed, Jul 1, 2015 at 4:58 PM, Jack Vogel <jfvogel at gmail.com> wrote:
> 
> > But if you've disabled interrupts why would an "interrupt-handling task"
> > even run??
> >
> > Jack
> >
> 
> There's a race.  The task could have already have been scheduled by a
> previous interrupt and could be running while I am trying to disable
> interrupts and drain the taskqueue.

Do you mean, you want some KPI like
	boolean taskqueue_is_draining(struct taskqueue *p);
so that e.g. executed task could see if it is executing in the
shutdown state ?



More information about the freebsd-current mailing list