From: Jani Nikula <jani.nikula@linux.intel.com>
To: David Laight <David.Laight@ACULAB.COM>,
"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>,
'Linus Torvalds' <torvalds@linux-foundation.org>,
'Netdev' <netdev@vger.kernel.org>,
"'dri-devel@lists.freedesktop.org'"
<dri-devel@lists.freedesktop.org>
Cc: 'Jens Axboe' <axboe@kernel.dk>,
"'Matthew Wilcox (Oracle)'" <willy@infradead.org>,
'Christoph Hellwig' <hch@infradead.org>,
"'linux-btrfs@vger.kernel.org'" <linux-btrfs@vger.kernel.org>,
'Andrew Morton' <akpm@linux-foundation.org>,
'Andy Shevchenko' <andriy.shevchenko@linux.intel.com>,
"'David S . Miller'" <davem@davemloft.net>,
'Dan Carpenter' <dan.carpenter@linaro.org>
Subject: RE: [PATCH next 10/11] block: Use a boolean expression instead of max() on booleans
Date: Mon, 29 Jan 2024 11:47:37 +0200 [thread overview]
Message-ID: <87il3cjwsm.fsf@intel.com> (raw)
In-Reply-To: <963d1126612347dd8c398a9449170e16@AcuMS.aculab.com>
On Mon, 29 Jan 2024, David Laight <David.Laight@ACULAB.COM> wrote:
> From: Jani Nikula
>> Sent: 29 January 2024 09:08
>>
>> On Sun, 28 Jan 2024, David Laight <David.Laight@ACULAB.COM> wrote:
>> > blk_stack_limits() contains:
>> > t->zoned = max(t->zoned, b->zoned);
>> > These are bool, so it is just a bitwise or.
>>
>> Should be a logical or, really. And || in code.
>
> Not really, bitwise is fine for bool (especially for 'or')
> and generates better code.
Logical operations for booleans are more readable for humans than
bitwise. And semantically correct.
With a = b || c you know what happens regardless of the types in
question. a = b | c you have to look up the types to know what's going
on.
To me, better code only matters if it's a hotpath.
That said, not my are of maintenance, so *shrug*.
BR,
Jani.
--
Jani Nikula, Intel
WARNING: multiple messages have this Message-ID (diff)
From: Jani Nikula <jani.nikula@linux.intel.com>
To: David Laight <David.Laight@ACULAB.COM>,
"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>,
'Linus Torvalds' <torvalds@linux-foundation.org>,
'Netdev' <netdev@vger.kernel.org>,
"'dri-devel@lists.freedesktop.org'"
<dri-devel@lists.freedesktop.org>
Cc: 'Jens Axboe' <axboe@kernel.dk>,
"'Matthew Wilcox \(Oracle\)'" <willy@infradead.org>,
'Christoph Hellwig' <hch@infradead.org>,
'Dan Carpenter' <dan.carpenter@linaro.org>,
'Andrew Morton' <akpm@linux-foundation.org>,
'Andy Shevchenko' <andriy.shevchenko@linux.intel.com>,
"'David S . Miller'" <davem@davemloft.net>,
"'linux-btrfs@vger.kernel.org'" <linux-btrfs@vger.kernel.org>
Subject: RE: [PATCH next 10/11] block: Use a boolean expression instead of max() on booleans
Date: Mon, 29 Jan 2024 11:47:37 +0200 [thread overview]
Message-ID: <87il3cjwsm.fsf@intel.com> (raw)
In-Reply-To: <963d1126612347dd8c398a9449170e16@AcuMS.aculab.com>
On Mon, 29 Jan 2024, David Laight <David.Laight@ACULAB.COM> wrote:
> From: Jani Nikula
>> Sent: 29 January 2024 09:08
>>
>> On Sun, 28 Jan 2024, David Laight <David.Laight@ACULAB.COM> wrote:
>> > blk_stack_limits() contains:
>> > t->zoned = max(t->zoned, b->zoned);
>> > These are bool, so it is just a bitwise or.
>>
>> Should be a logical or, really. And || in code.
>
> Not really, bitwise is fine for bool (especially for 'or')
> and generates better code.
Logical operations for booleans are more readable for humans than
bitwise. And semantically correct.
With a = b || c you know what happens regardless of the types in
question. a = b | c you have to look up the types to know what's going
on.
To me, better code only matters if it's a hotpath.
That said, not my are of maintenance, so *shrug*.
BR,
Jani.
--
Jani Nikula, Intel
next prev parent reply other threads:[~2024-01-29 9:47 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-28 19:24 [PATCH next 00/11] minmax: Optimise to reduce .i line length David Laight
2024-01-28 19:24 ` David Laight
2024-01-28 19:26 ` [PATCH next 01/11] minmax: Put all the clamp() definitions together David Laight
2024-01-28 19:26 ` David Laight
2024-01-28 19:27 ` [PATCH next 02/11] minmax: Use _Static_assert() instead of static_assert() David Laight
2024-01-28 19:27 ` David Laight
2024-01-28 19:27 ` [PATCH next 03/11] minmax: Simplify signedness check David Laight
2024-01-28 19:27 ` David Laight
2024-01-28 19:28 ` [PATCH next 04/11] minmax: Replace multiple __UNIQUE_ID() by directly using __COUNTER__ David Laight
2024-01-28 19:28 ` David Laight
2024-01-28 19:29 ` [PATCH next 05/11] minmax: Move the signedness check out of __cmp_once() and __clamp_once() David Laight
2024-01-28 19:29 ` David Laight
2024-01-28 19:30 ` [PATCH next 00611] minmax: Remove 'constexpr' check from __careful_clamp() David Laight
2024-01-28 19:30 ` David Laight
2024-01-28 19:31 ` [PATCH next 0711] minmax: minmax: Add __types_ok3() and optimise defines with 3 arguments David Laight
2024-01-28 19:31 ` David Laight
2024-01-28 19:32 ` [PATCH next 08/11 minmax: Add min_const() and max_const() David Laight
2024-01-28 19:32 ` David Laight
2024-01-28 19:34 ` [PATCH next 09/11] tree-wide: minmax: Replace all the uses of max() for array sizes with max_const() David Laight
2024-01-28 19:34 ` David Laight
2024-01-29 7:54 ` David Sterba
2024-01-29 7:54 ` David Sterba
2024-01-28 19:35 ` [PATCH next 10/11] block: Use a boolean expression instead of max() on booleans David Laight
2024-01-28 19:35 ` David Laight
2024-01-28 19:59 ` Linus Torvalds
2024-01-28 19:59 ` Linus Torvalds
2024-01-28 22:21 ` David Laight
2024-01-28 22:21 ` David Laight
2024-01-28 22:32 ` Linus Torvalds
2024-01-28 22:32 ` Linus Torvalds
2024-01-29 9:07 ` Jani Nikula
2024-01-29 9:07 ` Jani Nikula
2024-01-29 9:22 ` David Laight
2024-01-29 9:22 ` David Laight
2024-01-29 9:47 ` Jani Nikula [this message]
2024-01-29 9:47 ` Jani Nikula
2024-01-29 10:16 ` Dan Carpenter
2024-01-29 10:16 ` Dan Carpenter
2024-01-28 19:36 ` [PATCH next 11/11] minmax: min() and max() don't need to return constant expressions David Laight
2024-01-28 19:36 ` David Laight
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=87il3cjwsm.fsf@intel.com \
--to=jani.nikula@linux.intel.com \
--cc=David.Laight@ACULAB.COM \
--cc=akpm@linux-foundation.org \
--cc=andriy.shevchenko@linux.intel.com \
--cc=axboe@kernel.dk \
--cc=dan.carpenter@linaro.org \
--cc=davem@davemloft.net \
--cc=dri-devel@lists.freedesktop.org \
--cc=hch@infradead.org \
--cc=linux-btrfs@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
--cc=willy@infradead.org \
/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.