[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <75000ef9-4ab6-9777-8497-8f786c30a2fe@intel.com>
Date: Mon, 11 Sep 2023 16:42:48 +0200
From: Alexander Lobakin <aleksander.lobakin@...el.com>
To: Yury Norov <yury.norov@...il.com>,
Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
CC: Uros Bizjak <ubizjak@...il.com>,
"Masami Hiramatsu (Google)" <mhiramat@...nel.org>,
<linux-kernel@...r.kernel.org>,
<linux-trace-kernel@...r.kernel.org>,
Steven Rostedt <rostedt@...dmis.org>
Subject: Re: [PATCH v1 1/1] bitops: Share BYTES_TO_BITS() for everyone
From: Yury Norov <yury.norov@...il.com>
Date: Sun, 10 Sep 2023 07:07:16 -0700
> On Wed, Sep 06, 2023 at 05:54:26PM +0300, Andy Shevchenko wrote:
>> On Wed, Sep 06, 2023 at 04:40:39PM +0200, Alexander Lobakin wrote:
>>> From: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
>>> Date: Thu, 31 Aug 2023 16:21:30 +0300
>>>> On Fri, Aug 25, 2023 at 04:49:07PM +0200, Alexander Lobakin wrote:
>>>>> From: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
>>>>> Date: Thu, 24 Aug 2023 15:37:28 +0300
>>>>>
>>>>>> It may be new callers for the same macro, share it.
>>>>>>
>>>>>> Note, it's unknown why it's represented in the current form instead of
>>>>>> simple multiplication and commit 1ff511e35ed8 ("tracing/kprobes: Add
>>>>>> bitfield type") doesn't explain that neither. Let leave it as is and
>>>>>> we may improve it in the future.
>>>>>
>>>>> Maybe symmetrical change in tools/ like I did[0] an aeon ago?
>>>>
>>>> Hmm... Why can't you simply upstream your version? It seems better than mine.
>>>
>>> It was a part of the Netlink bigint API which is a bit on hold for now
>>> (I needed this macro available treewide).
>>> But I can send it as standalone if you're fine with that.
>>
>> I'm fine. Yury?
>
> Do we have opencoded BYTES_TO_BITS() somewhere else? If so, it should be
> fixed in the same series.
Treewide -- a ton.
We could add it so that devs could start using it and stop open-coding :D
>
> Regarding implementation, the current:
>
> #define BYTES_TO_BITS(nb) ((BITS_PER_LONG * (nb)) / sizeof(long))
>
> looks weird. Maybe there are some special considerations in a tracing
> subsystem to make it like this, but as per Masami's email - there's
> not.
>
> For a general purpose I'd suggest a simpler:
> #define BYTES_TO_BITS(nb) ((nb) * BITS_PER_BYTE)
I also didn't notice anything that would require using logic more
complex than this one. It would probably make more sense to define
it that way when moving.
>
> Thanks,
> Yury
Thanks,
Olek
Powered by blists - more mailing lists