Merge branch 'hwpoison' of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-mce-2.6
* 'hwpoison' of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-mce-2.6: (21 commits) HWPOISON: Enable error_remove_page on btrfs HWPOISON: Add simple debugfs interface to inject hwpoison on arbitary PFNs HWPOISON: Add madvise() based injector for hardware poisoned pages v4 HWPOISON: Enable error_remove_page for NFS HWPOISON: Enable .remove_error_page for migration aware file systems HWPOISON: The high level memory error handler in the VM v7 HWPOISON: Add PR_MCE_KILL prctl to control early kill behaviour per process HWPOISON: shmem: call set_page_dirty() with locked page HWPOISON: Define a new error_remove_page address space op for async truncation HWPOISON: Add invalidate_inode_page HWPOISON: Refactor truncate to allow direct truncating of page v2 HWPOISON: check and isolate corrupted free pages v2 HWPOISON: Handle hardware poisoned pages in try_to_unmap HWPOISON: Use bitmask/action code for try_to_unmap behaviour HWPOISON: x86: Add VM_FAULT_HWPOISON handling to x86 page fault handler v2 HWPOISON: Add poison check to page fault handling HWPOISON: Add basic support for poisoned pages in fault handler v3 HWPOISON: Add new SIGBUS error codes for hardware poison signals HWPOISON: Add support for poison swap entries v2 HWPOISON: Export some rmap vma locking to outside world ...
This commit is contained in:
@ -34,15 +34,37 @@ static inline int current_is_kswapd(void)
|
||||
* the type/offset into the pte as 5/27 as well.
|
||||
*/
|
||||
#define MAX_SWAPFILES_SHIFT 5
|
||||
#ifndef CONFIG_MIGRATION
|
||||
#define MAX_SWAPFILES (1 << MAX_SWAPFILES_SHIFT)
|
||||
|
||||
/*
|
||||
* Use some of the swap files numbers for other purposes. This
|
||||
* is a convenient way to hook into the VM to trigger special
|
||||
* actions on faults.
|
||||
*/
|
||||
|
||||
/*
|
||||
* NUMA node memory migration support
|
||||
*/
|
||||
#ifdef CONFIG_MIGRATION
|
||||
#define SWP_MIGRATION_NUM 2
|
||||
#define SWP_MIGRATION_READ (MAX_SWAPFILES + SWP_HWPOISON_NUM)
|
||||
#define SWP_MIGRATION_WRITE (MAX_SWAPFILES + SWP_HWPOISON_NUM + 1)
|
||||
#else
|
||||
/* Use last two entries for page migration swap entries */
|
||||
#define MAX_SWAPFILES ((1 << MAX_SWAPFILES_SHIFT)-2)
|
||||
#define SWP_MIGRATION_READ MAX_SWAPFILES
|
||||
#define SWP_MIGRATION_WRITE (MAX_SWAPFILES + 1)
|
||||
#define SWP_MIGRATION_NUM 0
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Handling of hardware poisoned pages with memory corruption.
|
||||
*/
|
||||
#ifdef CONFIG_MEMORY_FAILURE
|
||||
#define SWP_HWPOISON_NUM 1
|
||||
#define SWP_HWPOISON MAX_SWAPFILES
|
||||
#else
|
||||
#define SWP_HWPOISON_NUM 0
|
||||
#endif
|
||||
|
||||
#define MAX_SWAPFILES \
|
||||
((1 << MAX_SWAPFILES_SHIFT) - SWP_MIGRATION_NUM - SWP_HWPOISON_NUM)
|
||||
|
||||
/*
|
||||
* Magic header for a swap area. The first part of the union is
|
||||
* what the swap magic looks like for the old (limited to 128MB)
|
||||
|
Reference in New Issue
Block a user