[S390] Enable guest page hinting by default.

Get rid of the PAGE_STATES config option and enable guest page hinting
by default.
It can be disabled by specifying "cmma=off" at the command line.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
Heiko Carstens
2009-09-11 10:29:01 +02:00
committed by Martin Schwidefsky
parent 5dd1d2ece0
commit 2ddddf3e0a
5 changed files with 4 additions and 21 deletions

View File

@@ -480,13 +480,6 @@ config CMM_IUCV
Select this option to enable the special message interface to Select this option to enable the special message interface to
the cooperative memory management. the cooperative memory management.
config PAGE_STATES
bool "Unused page notification"
help
This enables the notification of unused pages to the
hypervisor. The ESSA instruction is used to do the states
changes between a page that has content and the unused state.
config APPLDATA_BASE config APPLDATA_BASE
bool "Linux - VM Monitor Stream, base infrastructure" bool "Linux - VM Monitor Stream, base infrastructure"
depends on PROC_FS depends on PROC_FS

View File

@@ -125,8 +125,6 @@ page_get_storage_key(unsigned long addr)
return skey; return skey;
} }
#ifdef CONFIG_PAGE_STATES
struct page; struct page;
void arch_free_page(struct page *page, int order); void arch_free_page(struct page *page, int order);
void arch_alloc_page(struct page *page, int order); void arch_alloc_page(struct page *page, int order);
@@ -134,8 +132,6 @@ void arch_alloc_page(struct page *page, int order);
#define HAVE_ARCH_FREE_PAGE #define HAVE_ARCH_FREE_PAGE
#define HAVE_ARCH_ALLOC_PAGE #define HAVE_ARCH_ALLOC_PAGE
#endif
#endif /* !__ASSEMBLY__ */ #endif /* !__ASSEMBLY__ */
#define __PAGE_OFFSET 0x0UL #define __PAGE_OFFSET 0x0UL

View File

@@ -109,11 +109,7 @@ extern void pfault_fini(void);
#define pfault_fini() do { } while (0) #define pfault_fini() do { } while (0)
#endif /* CONFIG_PFAULT */ #endif /* CONFIG_PFAULT */
#ifdef CONFIG_PAGE_STATES
extern void cmma_init(void); extern void cmma_init(void);
#else
static inline void cmma_init(void) { }
#endif
#define finish_arch_switch(prev) do { \ #define finish_arch_switch(prev) do { \
set_fs(current->thread.mm_segment); \ set_fs(current->thread.mm_segment); \

View File

@@ -2,7 +2,7 @@
# Makefile for the linux s390-specific parts of the memory manager. # Makefile for the linux s390-specific parts of the memory manager.
# #
obj-y := init.o fault.o extmem.o mmap.o vmem.o pgtable.o maccess.o obj-y := init.o fault.o extmem.o mmap.o vmem.o pgtable.o maccess.o \
page-states.o
obj-$(CONFIG_CMM) += cmm.o obj-$(CONFIG_CMM) += cmm.o
obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o
obj-$(CONFIG_PAGE_STATES) += page-states.o

View File

@@ -1,6 +1,4 @@
/* /*
* arch/s390/mm/page-states.c
*
* Copyright IBM Corp. 2008 * Copyright IBM Corp. 2008
* *
* Guest page hinting for unused pages. * Guest page hinting for unused pages.
@@ -17,11 +15,12 @@
#define ESSA_SET_STABLE 1 #define ESSA_SET_STABLE 1
#define ESSA_SET_UNUSED 2 #define ESSA_SET_UNUSED 2
static int cmma_flag; static int cmma_flag = 1;
static int __init cmma(char *str) static int __init cmma(char *str)
{ {
char *parm; char *parm;
parm = strstrip(str); parm = strstrip(str);
if (strcmp(parm, "yes") == 0 || strcmp(parm, "on") == 0) { if (strcmp(parm, "yes") == 0 || strcmp(parm, "on") == 0) {
cmma_flag = 1; cmma_flag = 1;
@@ -32,7 +31,6 @@ static int __init cmma(char *str)
return 1; return 1;
return 0; return 0;
} }
__setup("cmma=", cmma); __setup("cmma=", cmma);
void __init cmma_init(void) void __init cmma_init(void)