Re: [RFC workqueue/driver-core PATCH 4/5] driver core: Use new async_schedule_dev command

From
Dan Williams <hidden>
Date
2018-09-28 17:42:53
Also in
lkml, nvdimm
Reply to
Alexander Duyck, 2018-09-26
On Wed, Sep 26, 2018 at 2:52 PM Alexander Duyck
[off-list ref] wrote:
quoted hunk ↗ jump to hunk
This change makes it so that we use the device specific version of the
async_schedule commands to defer various tasks related to devices. By doing
this we should see a slight improvement in performance as any device that
is sensitive to latency/locality in the setup will now be initializing on
the node closest to the device.

Signed-off-by: Alexander Duyck <redacted>
---
 drivers/base/dd.c         |    4 ++--
 drivers/base/power/main.c |   12 ++++++------
 2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/drivers/base/dd.c b/drivers/base/dd.c
index 5ba366c1cb83..81472dc44a70 100644
--- a/drivers/base/dd.c
+++ b/drivers/base/dd.c
@@ -826,7 +826,7 @@ static int __device_attach(struct device *dev, bool allow_async)
                         */
                        dev_dbg(dev, "scheduling asynchronous probe\n");
                        get_device(dev);
-                       async_schedule(__device_attach_async_helper, dev);
+                       async_schedule_dev(__device_attach_async_helper, dev);
                } else {
                        pm_request_idle(dev);
                }
@@ -927,7 +927,7 @@ static int __driver_attach(struct device *dev, void *data)
                if (!dev->driver) {
                        get_device(dev);
                        dev_set_drvdata(dev, drv);
-                       async_schedule(__driver_attach_async_helper, dev);
+                       async_schedule_dev(__driver_attach_async_helper, dev);
                }
Above looks good to me...
quoted hunk ↗ jump to hunk
                device_unlock(dev);
                return 0;
diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c
index 3f68e2919dc5..8495d9b1e9d0 100644
--- a/drivers/base/power/main.c
+++ b/drivers/base/power/main.c
Let's split these changes into their own patch, just in case it causes
a suspend regression we can revert it independently of the async
probing change. It might also be worthwhile to have a positive
indication that this improves the latency of power transitions.
Thread (25 messages) 25 messages, 3 authors, last reply 2018-10-02
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help