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: Dave Hansen <dave@linux.vnet.ibm.com> Link: http://lkml.kernel.org/r/20130122212432.14F3D993@kernel.stglabs.ibm.com Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
This commit is contained in:
parent
4cbeb51b86
commit
f3c4fbb68e
|
@ -396,7 +396,7 @@ try_preserve_large_page(pte_t *kpte, unsigned long address,
|
|||
pte_t new_pte, old_pte, *tmp;
|
||||
pgprot_t old_prot, new_prot, req_prot;
|
||||
int i, do_split = 1;
|
||||
unsigned int level;
|
||||
enum pg_level level;
|
||||
|
||||
if (cpa->force_split)
|
||||
return 1;
|
||||
|
@ -412,15 +412,12 @@ try_preserve_large_page(pte_t *kpte, unsigned long address,
|
|||
|
||||
switch (level) {
|
||||
case PG_LEVEL_2M:
|
||||
psize = PMD_PAGE_SIZE;
|
||||
pmask = PMD_PAGE_MASK;
|
||||
break;
|
||||
#ifdef CONFIG_X86_64
|
||||
case PG_LEVEL_1G:
|
||||
psize = PUD_PAGE_SIZE;
|
||||
pmask = PUD_PAGE_MASK;
|
||||
break;
|
||||
#endif
|
||||
psize = page_level_size(level);
|
||||
pmask = page_level_mask(level);
|
||||
break;
|
||||
default:
|
||||
do_split = -EINVAL;
|
||||
goto out_unlock;
|
||||
|
|
Loading…
Reference in New Issue