Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f3c4fbb6 authored by Dave Hansen's avatar Dave Hansen Committed by H. Peter Anvin
Browse files

x86, mm: Use new pagetable helpers in try_preserve_large_page()



try_preserve_large_page() can be slightly simplified by using
the new page_level_*() helpers.  This also moves the 'level'
over to the new pg_level enum type.

Signed-off-by: default avatarDave Hansen <dave@linux.vnet.ibm.com>
Link: http://lkml.kernel.org/r/20130122212432.14F3D993@kernel.stglabs.ibm.com


Signed-off-by: default avatarH. Peter Anvin <hpa@linux.intel.com>
parent 4cbeb51b
Loading
Loading
Loading
Loading
+4 −7
Original line number Original line Diff line number Diff line
@@ -396,7 +396,7 @@ try_preserve_large_page(pte_t *kpte, unsigned long address,
	pte_t new_pte, old_pte, *tmp;
	pte_t new_pte, old_pte, *tmp;
	pgprot_t old_prot, new_prot, req_prot;
	pgprot_t old_prot, new_prot, req_prot;
	int i, do_split = 1;
	int i, do_split = 1;
	unsigned int level;
	enum pg_level level;


	if (cpa->force_split)
	if (cpa->force_split)
		return 1;
		return 1;
@@ -412,15 +412,12 @@ try_preserve_large_page(pte_t *kpte, unsigned long address,


	switch (level) {
	switch (level) {
	case PG_LEVEL_2M:
	case PG_LEVEL_2M:
		psize = PMD_PAGE_SIZE;
		pmask = PMD_PAGE_MASK;
		break;
#ifdef CONFIG_X86_64
#ifdef CONFIG_X86_64
	case PG_LEVEL_1G:
	case PG_LEVEL_1G:
		psize = PUD_PAGE_SIZE;
		pmask = PUD_PAGE_MASK;
		break;
#endif
#endif
		psize = page_level_size(level);
		pmask = page_level_mask(level);
		break;
	default:
	default:
		do_split = -EINVAL;
		do_split = -EINVAL;
		goto out_unlock;
		goto out_unlock;