Re: [PATCH] genirq: Simplify the check for __irq_get_desc_lock()

From: Thomas Gleixner
Date: Tue May 07 2024 - 06:20:57 EST


On Tue, May 07 2024 at 09:16, Jinjie Ruan wrote:
> On 2024/5/7 1:55, Thomas Gleixner wrote:
>>> if (desc) {
>>> if (check & _IRQ_DESC_CHECK) {
>>> - if ((check & _IRQ_DESC_PERCPU) &&
>>> - !irq_settings_is_per_cpu_devid(desc))
>>> - return NULL;
>>> -
>>> - if (!(check & _IRQ_DESC_PERCPU) &&
>>> + if (!!(check & _IRQ_DESC_PERCPU) !=
>>> irq_settings_is_per_cpu_devid(desc))
>>> return NULL;
>>
>> The existing code is readable and obvious. This is not.
>
> Thank you for your review. The existing code is indeed clear, but it
> seems that both judgments are checking whether the percpu flags are
> consistent.

The code checks whether the descriptor is marked as per CPU devid if and
only if the caller requested it.

As the code exactly doing that, what is the point of changing it to
something incomprehensible?

Thanks,

tglx