Re: [RFC PATCH 2/6] cpumask: Purify cpumask_next()

Ingo Molnar
2019-05-25T08:33:29Z

* Nadav Amit <namit@vmware.com> wrote:

> cpumask_next() has no side-effects. Mark it as pure.
>
> Cc: "David S. Miller" <davem@davemloft.net>
> Signed-off-by: Nadav Amit <namit@vmware.com>
> ---
> include/linux/cpumask.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/linux/cpumask.h b/include/linux/cpumask.h
> index 147bdec42215..20df46705f9c 100644
> --- a/include/linux/cpumask.h
> +++ b/include/linux/cpumask.h
> @@ -209,7 +209,7 @@ static inline unsigned int cpumask_last(const struct cpumask *srcp)
> return find_last_bit(cpumask_bits(srcp), nr_cpumask_bits);
> }
>
> -unsigned int cpumask_next(int n, const struct cpumask *srcp);
> +unsigned int __pure cpumask_next(int n, const struct cpumask *srcp);

I suppose this makes a code generation difference somewhere, right?

I'm wondering, couldn't it also be marked a const function? That's
supposedly an even better category.

Thanks,

Ingo