Subject: Re: wi panics in uvm_unmap: no context ?
To: Jonathan Stone <jonathan@dsg.stanford.edu>
From: David Young <dyoung@pobox.com>
List: tech-kern
Date: 03/19/2004 14:09:45
On Fri, Mar 19, 2004 at 11:53:46AM -0800, Jonathan Stone wrote:
> In message <0B92B81C-796B-11D8-AACB-000A957020BC@3am-software.com>
> Matt Thomas writes:
> 
> >
> >On Mar 18, 2004, at 6:53 PM, David Young wrote:
> >
> >> It does no harm to call wi_stop(, 1) from wi_ioctl, wi_detach, 
> >> wi_power,
> >> or wi_shutdown. I have an experimental patch that calls wi_stop(, 1)
> >> from wi_watchdog.  That panics the computer (see below). Why?
> >
> >because they don't have a process/kthread context.  callouts are handled
> >from a software interrupt.  To do this, you will need a helper kthread.
> 
> Mmm, kcont...

Is kcont in-tree?

BTW, I have been thinking about moving wi(4)'s programmed I/O out of
interrupt context and into a kthread. There are also many busy-wait
loops that should move out of interrupt context or else go away entirely.
This means a major restructuring. I think that it should happen before
we pull in OpenBSD's USB support.

Dave

-- 
David Young             OJC Technologies
dyoung@ojctech.com      Urbana, IL * (217) 278-3933