Messages in this thread | | | Subject | Re: PATCH: Multiprobe sanitizer | From | Alan Cox <> | Date | Thu, 17 Aug 2006 01:36:33 +0100 |
| |
Ar Mer, 2006-08-16 am 15:26 -0700, ysgrifennodd Greg KH: > What would this help out with? Would the PCI layer (for example) handle > this "notify the core that it can continue" type logic? Or would the > individual drivers need to be able to control it? > > I'm guessing that you are thinking of this in relation to the disk > drivers, have you found cases where something like this is necessary due > to hardware constraints?
Actually it occurs everywhere because what happens is
PCI enumerates in bus order Threads *usually* run in bus order
so every n'th boot your devices re-order themselves out of bus order, and eth1 becomes eth0 for the day.
If you have a "ok now continue scanning" API then we can do
Grab resources Register driver Go parallel [Slow stuff]
I was thinking if we set multithread = 2 (and define some constants) then the core code would do
if (multithread == WAIT) down(&drv->wait);
and we'd have
pci_driver_continue_enumerating(struct pci_driver *drv) { up(&drv->wait); }
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |