remove the broken PCI_MULTITHREAD_PROBE option
Subsystems (3)
PATCH 1/1 remove the broken PCI_MULTITHREAD_PROBE option
This patch removes the PCI_MULTITHREAD_PROBE option that had already been marked as broken.
---
Documentation/pci.txt | 4 --- drivers/base/dd.c | 41 ++------------------------------------- drivers/pci/Kconfig | 25 ----------------------- drivers/pci/pci-driver.c | 15 -------------- include/linux/device.h | 1 5 files changed, 3 insertions(+), 83 deletions(-)
drivers/pci/Kconfig renamed from drivers/pci/Kconfig.old +0 -25
@@ -17,31 +17,6 @@ If you don't know what to do here, say N. -config PCI_MULTITHREAD_PROBE - bool "PCI Multi-threaded probe (EXPERIMENTAL)" - depends on PCI && EXPERIMENTAL && BROKEN - help - Say Y here if you want the PCI core to spawn a new thread for - every PCI device that is probed. This can cause a huge - speedup in boot times on multiprocessor machines, and even a - smaller speedup on single processor machines. - - But it can also cause lots of bad things to happen. A number - of PCI drivers cannot properly handle running in this way, - some will just not work properly at all, while others might - decide to blow up power supplies with a huge load all at once, - so use this option at your own risk. - - It is very unwise to use this option if you are not using a - boot process that can handle devices being created in any - order. A program that can create persistent block and network - device names (like udev) is a good idea if you wish to use - this option. - - Again, use this option at your own risk, you have been warned! - - When in doubt, say N. - config PCI_DEBUG bool "PCI Debugging" depends on PCI && DEBUG_KERNEL
Documentation/pci.txt renamed from Documentation/pci.txt.old +0 -4
@@ -124,10 +124,6 @@ err_handler See Documentation/pci-error-recovery.txt - multithread_probe Enable multi-threaded probe/scan. Driver must - provide its own locking/syncronization for init - operations if this is enabled. - The ID table is an array of struct pci_device_id entries ending with an all-zero entry. Each entry consists of:
include/linux/device.h renamed from include/linux/device.h.old +0 -1
@@ -80,7 +80,6 @@int (*resume)(struct device * dev); unsigned int drivers_autoprobe:1; - unsigned int multithread_probe:1; };extern int __must_check bus_register (struct bus_type * bus);
drivers/pci/pci-driver.c renamed from drivers/pci/pci-driver.c.old +0 -15
@@ -14,20 +14,6 @@#include "pci.h" /* -* Registration of PCI drivers and handling of hot-pluggable devices. -*/ - -/* multithreaded probe logic */ -static int pci_multithread_probe = -#ifdef CONFIG_PCI_MULTITHREAD_PROBE -1 ; -#else -0 ; -#endif -__module_param_call ("" , pci_multithread_probe, param_set_bool, param_get_bool, &pci_multithread_probe,0644 ); - - -/* * Dynamic device IDs are disabled for !CONFIG_HOTPLUG */
@@ -569,7 +555,6 @@static int __init pci_driver_init (void ) { - pci_bus_type.multithread_probe = pci_multithread_probe;return bus_register (&pci_bus_type); }
drivers/base/dd.c renamed from drivers/base/dd.c.old +3 -38
67 lines not on this page · raw message
Quoted 5 lines · Adrian Bunk
This patch removes the
PCI_MULTITHREAD_PROBEoption that had already been marked as broken.Signed-off-by Adrian Bunk <[email protected]>
Quoted 8 lines
---
Documentation/pci.txt | 4 --- drivers/base/dd.c | 41 ++------------------------------------- drivers/pci/Kconfig | 25 ----------------------- drivers/pci/pci-driver.c | 15 -------------- include/linux/device.h | 1 5 files changed, 3 insertions(+), 83 deletions(-)
Greg, what about driver-core-per-subsystem-multithreaded-probing.patch? PCI_MULTITHREAD_PROBE shoudn't be broken with that, only in mainline?
Quoted 17 lines · Cornelia Huck
Quoted 5 lines · Adrian Bunk
This patch removes the
PCI_MULTITHREAD_PROBEoption that had already been marked as broken.Signed-off-by Adrian Bunk <[email protected]>Quoted 8 lines
---
Documentation/pci.txt | 4 --- drivers/base/dd.c | 41 ++------------------------------------- drivers/pci/Kconfig | 25 ----------------------- drivers/pci/pci-driver.c | 15 -------------- include/linux/device.h | 1 5 files changed, 3 insertions(+), 83 deletions(-)
Quoted 2 lines
Greg, what about driver-core-per-subsystem-multithreaded-probing.patch?
PCI_MULTITHREAD_PROBEshoudn't be broken with that, only in mainline?
Do you want to enable PCI multithreaded probing using your patch? I don't think the world is ready for pci multithreaded probing as was determined by the zillion of bug reports from people who like to enable config options that state in big letters, "THIS WILL BREAK YOUR BOX"...
And I'm still questioning if we should add your patch at all, as I don't think any other subsystems need it. Do you?
thanks,
greg k-h
Quoted 7 lines · Greg KH
Quoted 2 lines
Greg, what about driver-core-per-subsystem-multithreaded-probing.patch?
PCI_MULTITHREAD_PROBEshoudn't be broken with that, only in mainline?Do you want to enable PCI multithreaded probing using your patch? I don't think the world is ready for pci multithreaded probing as was determined by the zillion of bug reports from people who like to enable config options that state in big letters, "THIS WILL BREAK YOUR BOX"...
But IIRC, that was without my patch? Wouldn't per-subsystem multithreaded probing just expose bugs that could also be exposed on SMP systems?
Quoted 2 lines
And I'm still questioning if we should add your patch at all, as I don't think any other subsystems need it. Do you?
The css/ccw busses may profit from it, since we tend to have thousands of devices there. OTOH, we've already tried to make probing as asynchronous as possible, so maybe there isn't that much gain. I'd need to do some measurements (when I find some time...)
Quoted 6 lines · Cornelia Huck
Quoted 3 lines · Greg KH
Quoted 2 lines
Greg, what about driver-core-per-subsystem-multithreaded-probing.patch?
PCI_MULTITHREAD_PROBEshoudn't be broken with that, only in mainline?
Quoted 6 lines
Quoted 4 lines
Do you want to enable PCI multithreaded probing using your patch? I don't think the world is ready for pci multithreaded probing as was determined by the zillion of bug reports from people who like to enable config options that state in big letters, "THIS WILL BREAK YOUR BOX"...
But IIRC, that was without my patch?
Oh yes, your patch had nothing to do with it.
It was a more general, "do we want to allow multithreaded probing at all" type question. Some suggested that we allow it only by letting the individual busses handle it (like we prototyped in the USB core), instead of having the driver core do it.
Quoted 2 lines
Wouldn't per-subsystem multithreaded probing just expose bugs that could also be exposed on SMP systems?
Yes, it would be the same.
Quoted 7 lines
Quoted 2 lines
And I'm still questioning if we should add your patch at all, as I don't think any other subsystems need it. Do you?
The css/ccw busses may profit from it, since we tend to have thousands of devices there. OTOH, we've already tried to make probing as asynchronous as possible, so maybe there isn't that much gain. I'd need to do some measurements (when I find some time...)
Ok, I'll keep the patch then and send it to Linus for 2.6.22, I didn't realize your stuff would work well with it.
thanks,
greg k-h