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