[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190831210356.GI187474@dtor-ws>
Date: Sat, 31 Aug 2019 14:03:56 -0700
From: Dmitry Torokhov <dmitry.torokhov@...il.com>
To: Joe Perches <joe@...ches.com>
Cc: Pali Rohár <pali.rohar@...il.com>,
Denis Efremov <efremov@...ux.com>,
linux-kernel@...r.kernel.org,
Andrew Morton <akpm@...ux-foundation.org>,
linux-input@...r.kernel.org
Subject: Re: [PATCH v3 09/11] Input: alps - remove unlikely() from IS_ERR*()
condition
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:
> > On Thursday 29 August 2019 10:50:39 Dmitry Torokhov wrote:
> > > On Thu, Aug 29, 2019 at 07:50:23PM +0300, Denis Efremov wrote:
> > > > "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/
> > >
> > > 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
Powered by blists - more mailing lists