Re: [PATCH v4 5/5] soc: qcom: rpmh-rsc: Remove the pm_lock

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Quoting Douglas Anderson (2020-04-22 14:55:03)
> It has been postulated that the pm_lock is bad for performance because
> a CPU currently running rpmh_flush() could block other CPUs from
> coming out of idle.  Similarly CPUs coming out of / going into idle
> all need to contend with each other for the spinlock just to update
> the variable tracking who's in PM.
> 
> Let's optimize this a bit.  Specifically:
> 
> - Use a count rather than a bitmask.  This is faster to access and
>   also means we can use the atomic_inc_return() function to really
>   detect who the last one to enter PM was.
> - Accept that it's OK if we race and are doing the flush (because we
>   think we're last) while another CPU is coming out of idle.  As long
>   as we block that CPU if/when it tries to do an active-only transfer
>   we're OK.
> 
> Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx>
> ---

Reviewed-by: Stephen Boyd <swboyd@xxxxxxxxxxxx>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux