git://ftp.safe.ca
/
safe
/
jmp
/
linux-2.6
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mm: fault feedback #1
[safe/jmp/linux-2.6]
/
mm
/
hugetlb.c
diff --git
a/mm/hugetlb.c
b/mm/hugetlb.c
index
5898067
..
aaa7c1a
100644
(file)
--- a/
mm/hugetlb.c
+++ b/
mm/hugetlb.c
@@
-316,15
+316,14
@@
unsigned long hugetlb_total_pages(void)
* hugegpage VMA. do_page_fault() is supposed to trap this, so BUG is we get
* this far.
*/
* hugegpage VMA. do_page_fault() is supposed to trap this, so BUG is we get
* this far.
*/
-static struct page *hugetlb_nopage(struct vm_area_struct *vma,
- unsigned long address, int *unused)
+static int hugetlb_vm_op_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
{
BUG();
{
BUG();
- return
NULL
;
+ return
0
;
}
struct vm_operations_struct hugetlb_vm_ops = {
}
struct vm_operations_struct hugetlb_vm_ops = {
- .
nopage = hugetlb_nopage
,
+ .
fault = hugetlb_vm_op_fault
,
};
static pte_t make_huge_pte(struct vm_area_struct *vma, struct page *page,
};
static pte_t make_huge_pte(struct vm_area_struct *vma, struct page *page,
@@
-498,7
+497,7
@@
static int hugetlb_cow(struct mm_struct *mm, struct vm_area_struct *vma,
return VM_FAULT_MINOR;
}
return VM_FAULT_MINOR;
}
-int hugetlb_no_page(struct mm_struct *mm, struct vm_area_struct *vma,
+
static
int hugetlb_no_page(struct mm_struct *mm, struct vm_area_struct *vma,
unsigned long address, pte_t *ptep, int write_access)
{
int ret = VM_FAULT_SIGBUS;
unsigned long address, pte_t *ptep, int write_access)
{
int ret = VM_FAULT_SIGBUS;