Re: [RFC PATCH] locking/percpu-rwsem: use this_cpu_{inc|dec}() for read_count

peterz
2020-09-18T10:04:43Z

On Fri, Sep 18, 2020 at 12:01:12PM +0200, peterz@infradead.org wrote:
> @@ -198,7 +198,9 @@ EXPORT_SYMBOL_GPL(__percpu_down_read);
> */
> static bool readers_active_check(struct percpu_rw_semaphore *sem)
> {
> - if (per_cpu_sum(*sem->read_count) != 0)
> + u64 sum = per_cpu_sum(*(u64 *)sem->read_count);
> +
> + if (sum + (sum >> 32))

That obviously wants to be:

if ((u32)(sum + (sum >> 32)))

> return false;
>
> /*