powerpc/64s: msgclr when handling doorbell exceptions from system reset
Nicholas Piggin authored

msgsnd doorbell exceptions are cleared when the doorbell interrupt is
taken. However if a doorbell exception causes a system reset interrupt
wake from power saving state, the message is not cleared. Processing
the doorbell from the system reset interrupt requires msgclr to avoid
taking the exception again.

Testing this plus the previous wakup direct patch gives:

                                original         wakeup direct     msgclr
Different threads, same core:   315k/s           264k/s            345k/s
Different cores:                235k/s           242k/s            242k/s

Net speedup is +10% for same core, and +3% for different core.
Reviewed-by: default avatarGautham R. Shenoy <ego@linux.vnet.ibm.com>
Signed-off-by: default avatarNicholas Piggin <npiggin@gmail.com>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
a9af97aa
Name Last commit Last update
Documentation powerpc/fadump: Update comment about offset where fadump is reserved
arch powerpc/64s: msgclr when handling doorbell exceptions from system reset
block Merge branch 'nvme-4.12' of git://git.infradead.org/nvme into for-linus
certs scripts/spelling.txt: add "intialise(d)" pattern and fix typo instances
crypto crypto: skcipher - Add missing API setkey checks
drivers powerpc/64s/idle: Move soft interrupt mask logic into C code
firmware firmware/Makefile: force recompilation if makefile changes
fs Merge tag 'xfs-4.12-fixes-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux
include powerpc: Link warning for orphan sections
init Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
ipc mm: introduce kv[mz]alloc helpers
kernel Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
lib test_bpf: Add a couple of tests for BPF_JSGE.
mm mm: vmscan: scan until it finds eligible pages
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
samples samples/bpf: run cleanup routines when receiving SIGTERM
scripts Merge tag 'devicetree-fixes-for-4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux
security Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
sound Merge tag 'sound-4.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
tools selftests/powerpc: context_switch use private futexes with threads
usr initramfs: provide a way to ignore image provided by bootloader
virt KVM: arm/arm64: Hold slots_lock when unregistering kvm io bus devices
.cocciconfig scripts: add Linux .cocciconfig for coccinelle
.get_maintainer.ignore Add hch to .get_maintainer.ignore
.gitattributes .gitattributes: set git diff driver for C source code files
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS
Makefile
README
Linux kernel
============

This file was moved to Documentation/admin-guide/README.rst

Please notice that there are several guides for kernel developers and users.
These guides can be rendered in a number of formats, like HTML and PDF.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.
See Documentation/00-INDEX for a list of what is contained in each file.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.