[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:
committed by
Martin Schwidefsky
parent
5dd1d2ece0
commit
2ddddf3e0a
@@ -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
|
||||||
|
@@ -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
|
||||||
|
@@ -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); \
|
||||||
|
@@ -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
|
|
||||||
|
@@ -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)
|
||||||
|
Reference in New Issue
Block a user