[PATCH] powerpc/64s: Fix doorbell wakeup msgclr optimisation

Michael Ellerman patch-notifications at ellerman.id.au
Mon Apr 6 23:05:53 AEST 2020


On Thu, 2020-04-02 at 12:12:12 UTC, Nicholas Piggin wrote:
> Commit 3282a3da25bd ("powerpc/64: Implement soft interrupt replay in C")
> broke the doorbell wakeup optimisation introduced by commit a9af97aa0a12
> ("powerpc/64s: msgclr when handling doorbell exceptions from system
> reset").
> 
> This patch restores it, in C code. It's moved explicitly to the system
> reset wakeup path, rather than the doorbell replay path, because it is
> always the right thing to do in the wakeup case, but it could be rare to
> have a pending message in other cases in which case it's wasted work --
> we would have to be done to see if that was a worthwhile optimisation,
> and I suspect it would not be.
> 
> The results are similar to those in the original commit, test on POWER8
> of context_switch selftests benchmark with polling idle disabled (e.g.,
> always nap, giving cross-CPU IPIs) gives the following results:
> 
>                                     broken           patched
>     Different threads, same core:   317k/s           375k/s    +18.7%
>     Different cores:                280k/s           282k/s     +1.0%
> 
> Fixes: 3282a3da25bd ("powerpc/64: Implement soft interrupt replay in C")
> Signed-off-by: Nicholas Piggin <npiggin at gmail.com>

Applied to powerpc next, thanks.

https://git.kernel.org/powerpc/c/0c89649a70bed679fd408c1eb82fa99dbe1354a0

cheers


More information about the Linuxppc-dev mailing list