]> git.karo-electronics.de Git - karo-tx-linux.git/commit
PCI: Rewrite pci_call_probe() to use workqueue instead of work_on_cpu()
authorTejun Heo <tj@kernel.org>
Thu, 23 Aug 2012 21:35:29 +0000 (14:35 -0700)
committerBjorn Helgaas <bhelgaas@google.com>
Tue, 11 Sep 2012 15:56:27 +0000 (09:56 -0600)
commitd5a0dcf90aafb323f707eecbacf321099fdf7775
tree5d43fd88db4a24ec91bc500fc5e960c90281a5f5
parent0d7614f09c1ebdbaa1599a5aba7593f147bf96ee
PCI: Rewrite pci_call_probe() to use workqueue instead of work_on_cpu()

pci_call_probe() uses work_on_cpu(), which creates and tears down a
full kthread on each call, to invoke ->probe() on node local CPU for
allocation affinity.

The same goal can easily be achieved using a work item.  This patch
rewrites pci_call_probe() so that it uses a work item instead of
work_on_cpu().

Note that the function is restructured for simplicity.  This adds
get/put_online_cpus() pair for devices without node but the overhead
of doing so isn't anything material at this level.

[bhelgaas: tweak "Execute driver ..." comment grammar]
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
drivers/pci/pci-driver.c