diff options
Diffstat (limited to 'arch/s390/mm/init.c')
| -rw-r--r-- | arch/s390/mm/init.c | 30 | 
1 files changed, 3 insertions, 27 deletions
| diff --git a/arch/s390/mm/init.c b/arch/s390/mm/init.c index c3c07d3505ba..c722400c7697 100644 --- a/arch/s390/mm/init.c +++ b/arch/s390/mm/init.c @@ -48,37 +48,13 @@ EXPORT_SYMBOL(zero_page_mask);  static void __init setup_zero_pages(void)  { -	struct cpuid cpu_id;  	unsigned int order;  	struct page *page;  	int i; -	get_cpu_id(&cpu_id); -	switch (cpu_id.machine) { -	case 0x9672:	/* g5 */ -	case 0x2064:	/* z900 */ -	case 0x2066:	/* z900 */ -	case 0x2084:	/* z990 */ -	case 0x2086:	/* z990 */ -	case 0x2094:	/* z9-109 */ -	case 0x2096:	/* z9-109 */ -		order = 0; -		break; -	case 0x2097:	/* z10 */ -	case 0x2098:	/* z10 */ -	case 0x2817:	/* z196 */ -	case 0x2818:	/* z196 */ -		order = 2; -		break; -	case 0x2827:	/* zEC12 */ -	case 0x2828:	/* zEC12 */ -		order = 5; -		break; -	case 0x2964:	/* z13 */ -	default: -		order = 7; -		break; -	} +	/* Latest machines require a mapping granularity of 512KB */ +	order = 7; +  	/* Limit number of empty zero pages for small memory sizes */  	while (order > 2 && (totalram_pages >> 10) < (1UL << order))  		order--; | 
