| From | Sent On | Attachments |
|---|---|---|
| Poul-Henning Kamp | Jul 20, 2004 11:21 am | |
| Brian Fundakowski Feldman | Jul 20, 2004 11:32 am | |
| Poul-Henning Kamp | Jul 20, 2004 11:40 am | |
| Brian Fundakowski Feldman | Jul 20, 2004 11:53 am | |
| Willem Jan Withagen | Jul 20, 2004 12:08 pm | |
| Scott Long | Jul 20, 2004 12:09 pm | |
| Scott Long | Jul 20, 2004 12:11 pm | |
| David Schultz | Jul 20, 2004 1:40 pm | |
| Andrea Campi | Jul 20, 2004 11:18 pm | |
| Poul-Henning Kamp | Jul 20, 2004 11:47 pm | |
| Julian Elischer | Jul 21, 2004 12:09 am | |
| Doug Rabson | Jul 21, 2004 2:10 am | |
| Poul-Henning Kamp | Jul 21, 2004 2:22 am | |
| Doug Rabson | Jul 21, 2004 3:37 am | |
| Poul-Henning Kamp | Jul 21, 2004 4:02 am | |
| Doug Rabson | Jul 21, 2004 4:20 am | |
| Poul-Henning Kamp | Jul 21, 2004 4:37 am | |
| Doug Rabson | Jul 21, 2004 5:20 am | |
| Poul-Henning Kamp | Jul 21, 2004 5:30 am | |
| M. Warner Losh | Jul 21, 2004 7:51 am | |
| Brian Fundakowski Feldman | Jul 21, 2004 8:08 am | |
| Poul-Henning Kamp | Jul 21, 2004 9:38 am | |
| M. Warner Losh | Jul 21, 2004 10:14 am | |
| Poul-Henning Kamp | Jul 21, 2004 10:16 am |
| Subject: | kldunload DIAGNOSTIC idea... | |
|---|---|---|
| From: | Doug Rabson (df...@nlsystems.com) | |
| Date: | Jul 21, 2004 5:20:18 am | |
| List: | org.freebsd.freebsd-arch | |
On Wed, 2004-07-21 at 12:37, Poul-Henning Kamp wrote:
In message <1090...@builder02.qubesoft.com>, Doug Rabson writes :
There are three parts to it, a refcount on cdevsw which tells us if any thread is inside the driver using that route, a refcount on the individual cdev and a linkage between the two.
The device_busy() counter is still simplest (as long as there is a device_t at all). The implementation of devclass_delete_driver() will automatically veto the unload (when its called from driver_module_handler()).
The problem is that I cannot find the device_t without dereferencing the struct cdev (either for si_driver[12] or the dev_t) and by then it is too late. There is no way we can avoid refcounting on the cdev.
Ok, so you are going to handle this in specfs (or whatever replaces specfs)? That makes sense. Any ideas on how network interfaces should work in this?





