ia64: drop _PAGE_FILE and pte_file()-related helpers
authorKirill A. Shutemov <kirill.shutemov@linux.intel.com>
Tue, 10 Feb 2015 22:10:36 +0000 (14:10 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 10 Feb 2015 22:30:32 +0000 (14:30 -0800)
We've replaced remap_file_pages(2) implementation with emulation.  Nobody
creates non-linear mapping anymore.

This patch also increase number of bits availble for swap offset.

Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Fenghua Yu <fenghua.yu@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/ia64/include/asm/pgtable.h

index 7935115..2f07bb3 100644 (file)
@@ -57,9 +57,6 @@
 #define _PAGE_ED               (__IA64_UL(1) << 52)    /* exception deferral */
 #define _PAGE_PROTNONE         (__IA64_UL(1) << 63)
 
-/* Valid only for a PTE with the present bit cleared: */
-#define _PAGE_FILE             (1 << 1)                /* see swap & file pte remarks below */
-
 #define _PFN_MASK              _PAGE_PPN_MASK
 /* Mask of bits which may be changed by pte_modify(); the odd bits are there for _PAGE_PROTNONE */
 #define _PAGE_CHG_MASK (_PAGE_P | _PAGE_PROTNONE | _PAGE_PL_MASK | _PAGE_AR_MASK | _PAGE_ED)
@@ -300,7 +297,6 @@ extern unsigned long VMALLOC_END;
 #define pte_exec(pte)          ((pte_val(pte) & _PAGE_AR_RX) != 0)
 #define pte_dirty(pte)         ((pte_val(pte) & _PAGE_D) != 0)
 #define pte_young(pte)         ((pte_val(pte) & _PAGE_A) != 0)
-#define pte_file(pte)          ((pte_val(pte) & _PAGE_FILE) != 0)
 #define pte_special(pte)       0
 
 /*
@@ -472,27 +468,16 @@ extern void paging_init (void);
  *
  * Format of swap pte:
  *     bit   0   : present bit (must be zero)
- *     bit   1   : _PAGE_FILE (must be zero)
- *     bits  2- 8: swap-type
- *     bits  9-62: swap offset
- *     bit  63   : _PAGE_PROTNONE bit
- *
- * Format of file pte:
- *     bit   0   : present bit (must be zero)
- *     bit   1   : _PAGE_FILE (must be one)
- *     bits  2-62: file_offset/PAGE_SIZE
+ *     bits  1- 7: swap-type
+ *     bits  8-62: swap offset
  *     bit  63   : _PAGE_PROTNONE bit
  */
-#define __swp_type(entry)              (((entry).val >> 2) & 0x7f)
-#define __swp_offset(entry)            (((entry).val << 1) >> 10)
-#define __swp_entry(type,offset)       ((swp_entry_t) { ((type) << 2) | ((long) (offset) << 9) })
+#define __swp_type(entry)              (((entry).val >> 1) & 0x7f)
+#define __swp_offset(entry)            (((entry).val << 1) >> 9)
+#define __swp_entry(type,offset)       ((swp_entry_t) { ((type) << 1) | ((long) (offset) << 8) })
 #define __pte_to_swp_entry(pte)                ((swp_entry_t) { pte_val(pte) })
 #define __swp_entry_to_pte(x)          ((pte_t) { (x).val })
 
-#define PTE_FILE_MAX_BITS              61
-#define pte_to_pgoff(pte)              ((pte_val(pte) << 1) >> 3)
-#define pgoff_to_pte(off)              ((pte_t) { ((off) << 2) | _PAGE_FILE })
-
 /*
  * ZERO_PAGE is a global shared page that is always zero: used
  * for zero-mapped memory areas etc..