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    [W:2.360 / U:0.296 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site