summaryrefslogtreecommitdiffstats
path: root/arch/s390/Kconfig
diff options
context:
space:
mode:
authorChristian Borntraeger2015-10-29 01:16:04 +0100
committerMartin Schwidefsky2015-11-03 14:40:48 +0100
commit295d8fa961466bb9e9ebb87b46fdad4edaf736de (patch)
treee4a50c47b5520c119bc4bce0f8329057ad707858 /arch/s390/Kconfig
parents390/dasd: fix disconnected device with valid path mask (diff)
downloadkernel-qcow2-linux-295d8fa961466bb9e9ebb87b46fdad4edaf736de.tar.gz
kernel-qcow2-linux-295d8fa961466bb9e9ebb87b46fdad4edaf736de.tar.xz
kernel-qcow2-linux-295d8fa961466bb9e9ebb87b46fdad4edaf736de.zip
s390/Kconfig: use builtin bswap
Depending on the gcc version we can use builtin_bswap instead of architecture functions. Doing so is better than the inline assembly version of load reverse for two reasons: - the sequence of load reversed, apply constant mask, save reversed can be optimized to load, apply reversed mask, save - builtins are slightly better to optimize e.g. gcc instruction scheduler cannot optimize grouping on inline assemblies. To enable set we have to ARCH_USE_BUILTIN_BSWAP. bloat-o-meter results: add/remove: 1/1 grow/shrink: 75/533 up/down: 1711/-9394 (-7683) Suggested-by: David Woodhouse <David.Woodhouse@intel.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> Acked-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/Kconfig')
-rw-r--r--arch/s390/Kconfig1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
index 44cb7de499bb..9b9a2db06810 100644
--- a/arch/s390/Kconfig
+++ b/arch/s390/Kconfig
@@ -101,6 +101,7 @@ config S390
select ARCH_SAVE_PAGE_KEYS if HIBERNATION
select ARCH_SUPPORTS_ATOMIC_RMW
select ARCH_SUPPORTS_NUMA_BALANCING
+ select ARCH_USE_BUILTIN_BSWAP
select ARCH_USE_CMPXCHG_LOCKREF
select ARCH_WANTS_PROT_NUMA_PROT_NONE
select ARCH_WANT_IPC_PARSE_VERSION