Re: [PATCH v3 09/11] Input: alps - remove unlikely() from IS_ERR*() condition
From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: 2019-08-31 21:04:10
Also in:
lkml
On Sat, Aug 31, 2019 at 01:32:02PM -0700, Joe Perches wrote:
On Sat, 2019-08-31 at 17:25 +0200, Pali Rohár wrote:quoted
On Thursday 29 August 2019 10:50:39 Dmitry Torokhov wrote:quoted
On Thu, Aug 29, 2019 at 07:50:23PM +0300, Denis Efremov wrote:quoted
"unlikely(IS_ERR_OR_NULL(x))" is excessive. IS_ERR_OR_NULL() already uses unlikely() internally.The keyword here is _internally_. https://lore.kernel.org/lkml/20190821174857.GD76194@dtor-ws/ (local) So please no.I think it poor form not to simply restate your original objection from 4 message levels below this link
Thank you for the lesson in etiquette, but I posted reference to the very message I wanted.
https://lists.gt.net/linux/kernel/2269724 Hm... I do not like this change. If I read code if (unlikely(IS_ERR_OR_NULL(priv->dev3))) then I know that it is really unlikely that condition will be truth and so this is some case of error/exception or something that normally does not happen too much. But if I read code if (IS_ERR_OR_NULL(priv->dev3)) I know nothing about chance that this condition will be truth. Explicit unlikely in previous example give me more information. I alslo think this argument is dubious as it also applies to any IS_ERR and all the unlikely uses have been removed from those.
No, if you read the reference I posted, the argument does not apply to all IS_ERR() instances. Majority of them are in probe() paths where we do not really care about likely/unlikely. Here we are dealing with IS_ERR in a [fairly] hot path. Thanks. -- Dmitry