Re: [RFC PATCH v3 03/10] PM: Introduce an Energy Model management framework

From: Peter Zijlstra
Date: Tue Jun 19 2018 - 07:34:27 EST


On Mon, May 21, 2018 at 03:24:58PM +0100, Quentin Perret wrote:
> +struct em_freq_domain *em_cpu_get(int cpu)
> +{
> + struct em_freq_domain *fd;
> + unsigned long flags;
> +
> + read_lock_irqsave(&em_data_lock, flags);
> + fd = per_cpu(em_data, cpu);
> + read_unlock_irqrestore(&em_data_lock, flags);

Why can't this use RCU? This is the exact thing read_locks are terrible
at and RCU excells at.

> +
> + return fd;
> +}
> +EXPORT_SYMBOL_GPL(em_cpu_get);