Re: [RFC] New Driver Model for 2.5

Alan Cox
2001-10-23T20:48:36Z

> >"Stop accepting new requests" is nontrivial as well, in the general
> >case. New requests that can't be discarded need to be queued
> >somewhere. Whose responsibility is that? Ideally at some point where
> >a queue already exists, possibly in the requester.
>
> Some driver already handle queues. In the case of network driver, just
> stop your network queue and stop accepting incoming packets. If your
> driver is too simple to have queues, a simple semaphore on entry points
> can often be enough. You shouldn't deadlock as you are not supposed to
> re-enter a sleeping driver in step 2.

Stop accepting new requests is not simple. To complete existing requests you
might need an arbitary other module to complete a new request you submit
as part of your shutdown.

Alan