Give a hint to the compiler that dev_err_probe() is used for error handling. So calling paths are unlikely. >From gcc documentation: The paths leading to calls of cold functions within code are marked as unlikely by the branch prediction mechanism. Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> --- include/linux/device.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/linux/device.h b/include/linux/device.h index 424b55df0272..4ac16bde9bf7 100644 --- a/include/linux/device.h +++ b/include/linux/device.h @@ -1093,7 +1093,7 @@ void device_links_supplier_sync_state_pause(void); void device_links_supplier_sync_state_resume(void); extern __printf(3, 4) -int dev_err_probe(const struct device *dev, int err, const char *fmt, ...); +int __cold dev_err_probe(const struct device *dev, int err, const char *fmt, ...); /* Create alias, so I can be autoloaded. */ #define MODULE_ALIAS_CHARDEV(major,minor) \ -- 2.34.1