public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [4/11] hugetlb: wrap hugetlb_prefault with prefault_key()
@ 2002-11-12  8:28 William Lee Irwin III
  0 siblings, 0 replies; only message in thread
From: William Lee Irwin III @ 2002-11-12  8:28 UTC (permalink / raw)
  To: linux-kernel

This wraps hugetlb_prefault() with prefault_key() in order to isolate the
dependency on inodes for prefaulting the hugetlb vma.

 hugetlbpage.c |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)


diff -urpN htlb-2.5.47-3/arch/i386/mm/hugetlbpage.c htlb-2.5.47-4/arch/i386/mm/hugetlbpage.c
--- htlb-2.5.47-3/arch/i386/mm/hugetlbpage.c	2002-11-11 21:23:55.000000000 -0800
+++ htlb-2.5.47-4/arch/i386/mm/hugetlbpage.c	2002-11-11 21:30:36.000000000 -0800
@@ -350,12 +350,18 @@ static int check_size_prot(struct inode 
 	return 0;
 }
 
+static int prefault_key(struct hugetlb_key *key, struct vm_area_struct *vma)
+{
+	struct inode *inode = (struct inode *)key;
+
+	return hugetlb_prefault(inode->i_mapping, vma);
+}
+
 static int alloc_shared_hugetlb_pages(int key, unsigned long addr, unsigned long len, int prot, int flag)
 {
 	struct mm_struct *mm = current->mm;
 	struct vm_area_struct *vma;
 	struct inode *inode;
-	struct address_space *mapping;
 	int retval = -ENOMEM;
 	int newalloc = 0;
 
@@ -367,8 +373,6 @@ static int alloc_shared_hugetlb_pages(in
 	} else
 		spin_unlock(&htlbpage_lock);
 
-	mapping = inode->i_mapping;
-
 	addr = do_mmap_pgoff(NULL, addr, len, (unsigned long) prot,
 			MAP_NORESERVE|MAP_FIXED|MAP_PRIVATE|MAP_ANONYMOUS, 0);
 	if (IS_ERR((void *) addr))
@@ -380,7 +384,7 @@ static int alloc_shared_hugetlb_pages(in
 		goto freeinode;
 	}
 
-	retval = hugetlb_prefault(mapping, vma);
+	retval = prefault_key((struct hugetlb_key *)inode, vma);
 	if (retval)
 		goto out;
 

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2002-11-12  8:25 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-11-12  8:28 [4/11] hugetlb: wrap hugetlb_prefault with prefault_key() William Lee Irwin III

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox