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 <npig...@gmail.com>
Applied to powerpc next, thanks. https://git.kernel.org/powerpc/c/0c89649a70bed679fd408c1eb82fa99dbe1354a0 cheers