summaryrefslogtreecommitdiff
path: root/arch/s390/include
diff options
context:
space:
mode:
authorMartin Schwidefsky <schwidefsky@de.ibm.com>2013-10-07 14:12:32 +0400
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2013-10-24 19:17:00 +0400
commit127c1feffff8078400f01372712c600d0f9eef51 (patch)
tree70c6b13e0b483459bf5e6669ac0973b35bab7c48 /arch/s390/include
parent6cef30034c32ebe448c844089c4168c411feeb63 (diff)
downloadlinux-127c1feffff8078400f01372712c600d0f9eef51.tar.xz
s390/mm: do not initialize storage keys
With dirty and referenced bits implemented in software it is unnecessary to initialize the storage key for every page. With this patch not a single storage key operation is done for a system that does not use KVM. For KVM set_pte_at/pgste_set_key will do the initialization for the guest view of the storage key when the mapping for the page is established in the host. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/include')
-rw-r--r--arch/s390/include/asm/page.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/s390/include/asm/page.h b/arch/s390/include/asm/page.h
index 1e51f2915b2e..316c8503a3b4 100644
--- a/arch/s390/include/asm/page.h
+++ b/arch/s390/include/asm/page.h
@@ -30,7 +30,12 @@
#include <asm/setup.h>
#ifndef __ASSEMBLY__
-void storage_key_init_range(unsigned long start, unsigned long end);
+static inline void storage_key_init_range(unsigned long start, unsigned long end)
+{
+#if PAGE_DEFAULT_KEY
+ __storage_key_init_range(start, end);
+#endif
+}
static inline void clear_page(void *page)
{