Re: [PATCH] Input: alps: Drop unlikely before IS_ERR(_OR_NULL)
From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: 2019-06-12 00:59:19
Also in:
lkml
Hi Joe, On Wed, Jun 05, 2019 at 07:28:53PM -0700, Joe Perches wrote:
On Thu, 2019-06-06 at 09:08 +0800, Kefeng Wang wrote:quoted
On 2019/6/5 22:42, Pali Rohár wrote:quoted
On Wednesday 05 June 2019 22:24:28 Kefeng Wang wrote:quoted
IS_ERR(_OR_NULL) already contain an 'unlikely' compiler flag, so no need to do that again from its callers. Drop it.Hi! I already reviewed this patch and rejected it, see: https://patchwork.kernel.org/patch/10817475/OK, please ignore it.I think the stated reason of better readability isn't particularly sensible as the object code produced is actually slightly larger. x86-64 defconfig (gcc 8.3.0) $ size drivers/input/mouse/alps.o* text data bss dec hex filename 29416 56 0 29472 7320 drivers/input/mouse/alps.o.new 29432 56 0 29488 7330 drivers/input/mouse/alps.o.old
If gcc produces worse code for double unlikely, you should probably report it to gcc folks, no? Or double unlikely turns into likely?
Also if this unlikely is _really_ useful, perhaps the !IS_ERR immediately after could also use likely as the test seems only done for an OOM condition.
No, once you take the IS_ERR_OR_NULL(priv->dev3) == true branch it stops being hot path and additional annotations are completely unneeded. And if we failed to create and register priv->dev3 device - that's an error and system is degraded. Can't do much here. Thanks. -- Dmitry