Commit 7919e91b authored by Martin Schwidefsky's avatar Martin Schwidefsky
Browse files

s390/mm: zero page cache synonyms for zEC12



To avoid cache synonyms on System zEC12 32 independent zero pages are
required, one for each combination for bits 2**12 to 2**16 of the virtual
address. To avoid wasting too much memory on small virtual systems the
number of zero pages is limited to 4 if the memory size is less or equal
to 64MB.

Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent f752ac4d
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -63,10 +63,18 @@ static unsigned long __init setup_zero_pages(void)
		break;
	case 0x2097:	/* z10 */
	case 0x2098:	/* z10 */
	default:
	case 0x2817:	/* z196 */
	case 0x2818:	/* z196 */
		order = 2;
		break;
	case 0x2827:	/* zEC12 */
	default:
		order = 5;
		break;
	}
	/* Limit number of empty zero pages for small memory sizes */
	if (order > 2 && totalram_pages <= 16384)
		order = 2;

	empty_zero_page = __get_free_pages(GFP_KERNEL | __GFP_ZERO, order);
	if (!empty_zero_page)