[PATCH] driver core: Add branch prediction hints in really_probe()

From: Muchun Song
Date: Tue Nov 06 2018 - 08:47:12 EST


If condition is false in most cases. So, add an unlikely() to the if
condition, so that the optimizer assumes that the condition is false.

Signed-off-by: Muchun Song <smuchun@xxxxxxxxx>
---
drivers/base/dd.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/base/dd.c b/drivers/base/dd.c
index 169412ee4ae8..8eba453c4e5d 100644
--- a/drivers/base/dd.c
+++ b/drivers/base/dd.c
@@ -450,7 +450,7 @@ static int really_probe(struct device *dev, struct device_driver *drv)
bool test_remove = IS_ENABLED(CONFIG_DEBUG_TEST_DRIVER_REMOVE) &&
!drv->suppress_bind_attrs;

- if (defer_all_probes) {
+ if (unlikely(defer_all_probes)) {
/*
* Value of defer_all_probes can be set only by
* device_defer_all_probes_enable() which, in turn, will call
@@ -508,7 +508,7 @@ static int really_probe(struct device *dev, struct device_driver *drv)
goto probe_failed;
}

- if (test_remove) {
+ if (unlikely(test_remove)) {
test_remove = false;

if (dev->bus->remove)
--
2.17.1