All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jani Nikula <jani.nikula@intel.com>
To: Devarsh Thakkar <devarsht@ti.com>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: mchehab@kernel.org, hverkuil-cisco@xs4all.nl,
	linux-media@vger.kernel.org, linux-kernel@vger.kernel.org,
	sebastian.fricke@collabora.com, linux-doc@vger.kernel.org,
	praneeth@ti.com, nm@ti.com, vigneshr@ti.com, s-jain1@ti.com,
	r-donadkar@ti.com, b-brnich@ti.com, detheridge@ti.com,
	p-mantena@ti.com, vijayp@ti.com, andi.shyti@linux.intel.com,
	nicolas@ndufresne.ca, jirislaby@kernel.org, davidgow@google.com,
	dlatypov@google.com, corbet@lwn.net, broonie@kernel.org,
	rdunlap@infradead.org, nik.borisov@suse.com, Dave.Martin@arm.com
Subject: Re: [PATCH v2 1/6] math.h: Add macros for rounding to the closest value
Date: Thu, 29 Aug 2024 12:19:43 +0300	[thread overview]
Message-ID: <878qwfy9cg.fsf@intel.com> (raw)
In-Reply-To: <0b06794b-34c5-ec0d-59c6-8412a8789eaf@ti.com>

On Tue, 27 Aug 2024, Devarsh Thakkar <devarsht@ti.com> wrote:
> Hi Nikula,
>
> Thanks for the review.
>
> On 27/08/24 18:10, Jani Nikula wrote:
>> On Tue, 27 Aug 2024, Devarsh Thakkar <devarsht@ti.com> wrote:
>
> [..]
>
>>> The equivalency between roundclosest w.r.t round_closest is same as
>>> equivalency between existing macros rounddown w.r.t round_down. Functionally
>>> both are same but the former is recommended to be used only for the scenario
>>> where multiple is not power of 2 and latter is faster but is strictly for the
>>> scenario where multiple is power of 2. I think the same is already summarized
>>> well in commit message and further elaborated in the patch itself as part of
>>> header file comments [1] so I personally don't think any update is required
>>> w.r.t this.
>> 
>> I still don't think rounddown vs. round_down naming is a good example to
>> model anything after.
>> 
>> I have yet to hear a single compelling argument in favor of having a
>> single underscore in the middle of a name having implications about the
>> inputs of a macro/function.
>> 
>> The macros being added here are at 2 or 3 in Rusty's scale [1]. We could
>> aim for 6 (The name tells you how to use it), but also do opportunistic
>> 8 (The compiler will warn if you get it wrong) for compile-time
>> constants.
>> 
>
> The macros use existing round_up/round_down underneath, so need to check if
> they have compile-time checks but either-way this should not block the current
> series as the series does not aim to enhance the existing round_up/round_down
> macros.
>
>> As-is, these, and round_up/round_down, are just setting a trap for an
>> unsuspecting kernel developer to fall into.
>> 
>
> I understand what you are saying but I believe this was already discussed in
> original patch series [1] where you had raised the same issue and it was even
> discussed if we want to go with a new naming convention (like
> round_closest_up_pow_2) [2] or not and the final consensus reached on naming
> was to align with the existing round*() macros [3]. Moreover, I didn't hear
> back any further arguments on this in further 8 revisions carrying this patch,
> so thought this was aligned per wider consensus.
>
> Anyways, to re-iterate the discussion do we want to change to below naming scheme?
>
> round_closest_up_pow_2
> round_closest_down_pow_2
> roundclosest
>
> or any other suggestions for naming ?
>
> If there is a wider consensus on the suggested name (and ok to deviate from
> existing naming convention), then we can go ahead with that.

The stupid thing here is, I still don't remember which one is the
generic thing, rounddown() or round_down(). I have to look it up every
single time to be sure. I refuse to believe I'd be the only one.

It's okay to accidentally use the generic version, no harm done. It's
definitely not okay to accidentally use the special pow-2 version, so it
should have a special name. I think _pow2() or _pow_2() is a fine
suffix.

Another stupid thing is, I'd name the generic thing round_down(). But
whoopsie, that's not the generic thing.

This naming puts an unnecessary extra burden on people. It's a stupid
"convention" to follow. It's a mistake. Not repeating a mistake trumps
following the pattern.

There, I've said it. Up to the people who ack and commit to decide.


BR,
Jani.


>
> [1]: https://lore.kernel.org/all/ZkIG0-01pz632l4R@smile.fi.intel.com/
> [2]: https://lore.kernel.org/all/5ebcf480-81c6-4c2d-96e8-727d44f21ca9@ti.com/
> [3]:
> https://lore.kernel.org/all/ZkIG0-01pz632l4R@smile.fi.intel.com/#:~:text=series%20is%20that%3A%0A%2D-,align,-naming%20(with%20the
>
> Regards
> Devarsh
>> 
>> BR,
>> Jani.
>> 
>> 
>> [1] https://ozlabs.org/~rusty/index.cgi/tech/2008-03-30.html
>> 
>> 
>>>
>>> [1]: https://lore.kernel.org/all/20240826150822.4057164-2-devarsht@ti.com
>>>
>>> Regards
>>> Devarsh
>> 

-- 
Jani Nikula, Intel

  reply	other threads:[~2024-08-29  9:19 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-26 15:08 [PATCH v2 0/6] Add rounding macros and enable KUnit tests Devarsh Thakkar
2024-08-26 15:08 ` [PATCH v2 1/6] math.h: Add macros for rounding to the closest value Devarsh Thakkar
2024-08-26 17:44   ` Andy Shevchenko
2024-08-27 11:27     ` Devarsh Thakkar
2024-08-27 12:40       ` Jani Nikula
2024-08-27 15:14         ` Devarsh Thakkar
2024-08-29  9:19           ` Jani Nikula [this message]
2024-08-29  9:54             ` Jiri Slaby
2024-08-30 16:09               ` Devarsh Thakkar
2024-09-30  1:18               ` Randy Dunlap
2024-08-30 13:45   ` Dave Martin
2024-08-26 15:08 ` [PATCH v2 2/6] math.h: Use kernel-doc syntax for division macros Devarsh Thakkar
2024-08-26 15:08 ` [PATCH v2 3/6] Documentation: core-api: Add math.h macros and functions Devarsh Thakkar
2024-08-26 15:08 ` [PATCH v2 4/6] lib: Add basic KUnit test for lib/math Devarsh Thakkar
2024-08-26 15:08 ` [PATCH v2 5/6] lib: math_kunit: Add tests for new macros related to rounding to nearest value Devarsh Thakkar
2024-08-30 14:07   ` Dave Martin
2024-08-26 15:08 ` [PATCH v2 6/6] media: imagination: Round to closest multiple for cropping region Devarsh Thakkar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=878qwfy9cg.fsf@intel.com \
    --to=jani.nikula@intel.com \
    --cc=Dave.Martin@arm.com \
    --cc=andi.shyti@linux.intel.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=b-brnich@ti.com \
    --cc=broonie@kernel.org \
    --cc=corbet@lwn.net \
    --cc=davidgow@google.com \
    --cc=detheridge@ti.com \
    --cc=devarsht@ti.com \
    --cc=dlatypov@google.com \
    --cc=hverkuil-cisco@xs4all.nl \
    --cc=jirislaby@kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=nicolas@ndufresne.ca \
    --cc=nik.borisov@suse.com \
    --cc=nm@ti.com \
    --cc=p-mantena@ti.com \
    --cc=praneeth@ti.com \
    --cc=r-donadkar@ti.com \
    --cc=rdunlap@infradead.org \
    --cc=s-jain1@ti.com \
    --cc=sebastian.fricke@collabora.com \
    --cc=vigneshr@ti.com \
    --cc=vijayp@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.