lkml.org 
[lkml]   [2006]   [Aug]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: PATCH: Multiprobe sanitizer
From
Date
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/

\
 
 \ /
  Last update: 2006-08-17 02:19    [from the cache]
©2003-2011 Jasper Spaans