Re: [PATCH v5 7/8] cpumask: Mark functions as pure

From: Peter Zijlstra
Date: Tue Feb 16 2021 - 07:15:59 EST


On Tue, Feb 09, 2021 at 02:16:52PM -0800, Nadav Amit wrote:

> @@ -235,7 +235,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);
>
> /**
> * cpumask_next_zero - get the next unset cpu in a cpumask

I've changed it to:

__pure unsigned int cpumask_next(...);

to be consistent with these:

> @@ -252,8 +252,8 @@ static inline unsigned int cpumask_next_zero(int n, const struct cpumask *srcp)
> return find_next_zero_bit(cpumask_bits(srcp), nr_cpumask_bits, n+1);
> }
>
> -int cpumask_next_and(int n, const struct cpumask *, const struct cpumask *);
> -int cpumask_any_but(const struct cpumask *mask, unsigned int cpu);
> +__pure int cpumask_next_and(int n, const struct cpumask *, const struct cpumask *);
> +__pure int cpumask_any_but(const struct cpumask *mask, unsigned int cpu);
> unsigned int cpumask_local_spread(unsigned int i, int node);
> int cpumask_any_and_distribute(const struct cpumask *src1p,
> const struct cpumask *src2p);