Andi Kleen aa50d3a7aa Encode huge page size for VM_FAULT_HWPOISON errors
This fixes a problem introduced with the hugetlb hwpoison handling

The user space SIGBUS signalling wants to know the size of the hugepage
that caused a HWPOISON fault.

Unfortunately the architecture page fault handlers do not have easy
access to the struct page.

Pass the information out in the fault error code instead.

I added a separate VM_FAULT_HWPOISON_LARGE bit for this case and encode
the hpage index in some free upper bits of the fault code. The small
page hwpoison keeps stays with the VM_FAULT_HWPOISON name to minimize
changes.

Also add code to hugetlb.h to convert that index into a page shift.

Will be used in a further patch.

Cc: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Cc: fengguang.wu@intel.com
Signed-off-by: Andi Kleen <ak@linux.intel.com>
2010-10-08 09:32:46 +02:00
..
2009-04-01 08:59:13 -07:00
2010-08-08 21:57:23 +01:00
2010-10-04 11:09:53 -07:00
2010-07-14 17:14:00 +10:00
2009-09-22 07:17:35 -07:00
2010-10-08 09:32:45 +02:00
2010-05-25 08:06:58 -07:00
2010-09-09 09:05:06 -07:00
2010-03-24 16:31:21 -07:00
2010-05-21 18:31:21 -04:00
2010-08-21 08:49:21 -07:00
2010-09-21 08:12:25 +02:00
2007-10-20 01:27:18 +02:00
2010-05-25 08:07:00 -07:00
2010-10-08 09:32:46 +02:00
2010-05-25 15:06:06 +02:00
2009-06-23 12:50:05 -07:00
2010-08-09 20:44:54 -07:00