[PATCH 3/5] scsi: lpfc: fix lpfc_cpu_affinity_check() if no further cpus set

Linus Torvalds torvalds at linux-foundation.org
Mon Mar 6 18:48:04 UTC 2023

On Mon, Mar 6, 2023 at 8:07 AM Vernon Yang <vernon2gm at gmail.com> wrote:
> -                               if (new_cpu == nr_cpumask_bits)
> +                               if (new_cpu >= nr_cpumask_bits)

This all should use "nr_cpu_ids", not "nr_cpumask_bits".

But I really suspect that it should all be rewritten to not do that
thing over and over, but just use a helper function for it.

  int lpfc_next_present_cpu(int n, int alternate)
        n = cpumask_next(n, cpu_present_mask);
        if (n >= nr_cpu_ids)
                n = alternate;
        return n;

and then you could just use

        start_cpu = lpfc_next_present_cpu(new_cpu, first_cpu);

or similar.


PS. We "kind of" already have a helper function for this:
cpumask_next_wrap(). But it's really meant for a different pattern
entirely, so let's not confuse things.

More information about the WireGuard mailing list