Re: [PATCH -next] power/qos: fix a data race in pm_qos_*_value

From: Qian Cai
Date: Tue Feb 25 2020 - 19:34:22 EST




> On Feb 25, 2020, at 7:10 PM, Rafael J. Wysocki <rafael@xxxxxxxxxx> wrote:
>
> The target_value field in struct pm_qos_constraints is used for
> lockless access to the effective constraint value of a given QoS list,
> so the readers of it cannot expect it to always reflect the most
> recent effective constraint value. However, they can and do expect it
> to be equal to a valid effective constraint value computed at a
> certain time in the past (event though it may not be the most recent
> one), so add READ|WRITE_ONCE() annotations around the target_value
> accesses to prevent the compiler from possibly causing that
> expectation to be unmet by generating code in an exceptionally
> convoluted way.

Perfect. Iâll send a v2 for that unless you would like to squash it in.