public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
* Re: [RFC][PATCH v3 17/22] mm, ia64: add gfp flags variant of pud,
       [not found]                 ` <20110318200452.GQ4746@prasad-kvm>
@ 2011-03-18 20:05                   ` Prasad Joshi
  0 siblings, 0 replies; only message in thread
From: Prasad Joshi @ 2011-03-18 20:05 UTC (permalink / raw)
  To: tony.luck, fenghua.yu, linux-ia64, linux-kernel, prasadjoshi124,
	mitra


- Added __pud_alloc_one which allows caller to specify the gfp_t flag.
   Like pud_alloc_one the function calls quicklist_alloc() and passes
   the given allocation flag.

- Changed pud_alloc_one to call __pud_alloc_one using GFP_KERNEL.

- Added similar changes for pte and pmd allocation functions.

- Helps in fixing the Bug 30702.

Signed-off-by: Prasad Joshi <prasadjoshi124@gmail.com>
Signed-off-by: Anand Mitra <mitra@kqinfotech.com>
---
 arch/ia64/include/asm/pgalloc.h |   24 +++++++++++++++++++++---
 1 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/arch/ia64/include/asm/pgalloc.h b/arch/ia64/include/asm/pgalloc.h
index 96a8d92..0e46e47 100644
--- a/arch/ia64/include/asm/pgalloc.h
+++ b/arch/ia64/include/asm/pgalloc.h
@@ -39,9 +39,15 @@ pgd_populate(struct mm_struct *mm, pgd_t * pgd_entry, pud_t * pud)
 	pgd_val(*pgd_entry) = __pa(pud);
 }
 
+static inline pud_t *
+__pud_alloc_one(struct mm_struct *mm, unsigned long addr, gfp_t gfp_mask)
+{
+	return quicklist_alloc(0, gfp_mask, NULL);
+}
+
 static inline pud_t *pud_alloc_one(struct mm_struct *mm, unsigned long addr)
 {
-	return quicklist_alloc(0, GFP_KERNEL, NULL);
+	return __pud_alloc_one(mm, addr, GFP_KERNEL);
 }
 
 static inline void pud_free(struct mm_struct *mm, pud_t *pud)
@@ -57,9 +63,15 @@ pud_populate(struct mm_struct *mm, pud_t * pud_entry, pmd_t * pmd)
 	pud_val(*pud_entry) = __pa(pmd);
 }
 
+static inline pmd_t *
+__pmd_alloc_one(struct mm_struct *mm, unsigned long addr, gfp_t gfp_mask)
+{
+	return quicklist_alloc(0, gfp_mask, NULL);
+}
+
 static inline pmd_t *pmd_alloc_one(struct mm_struct *mm, unsigned long addr)
 {
-	return quicklist_alloc(0, GFP_KERNEL, NULL);
+	return __pmd_alloc_one(mm, addr, GFP_KERNEL);
 }
 
 static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd)
@@ -95,10 +107,16 @@ static inline pgtable_t pte_alloc_one(struct mm_struct *mm, unsigned long addr)
 	return page;
 }
 
+static inline pte_t *__pte_alloc_one_kernel(struct mm_struct *mm,
+					  unsigned long addr, gfp_t gfp_mask)
+{
+	return quicklist_alloc(0, gfp_mask, NULL);
+}
+
 static inline pte_t *pte_alloc_one_kernel(struct mm_struct *mm,
 					  unsigned long addr)
 {
-	return quicklist_alloc(0, GFP_KERNEL, NULL);
+	return __pte_alloc_one_kernel(mm, addr, GFP_KERNEL);
 }
 
 static inline void pte_free(struct mm_struct *mm, pgtable_t pte)
-- 
1.7.0.4


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

only message in thread, other threads:[~2011-03-18 20:05 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20110318195307.GH4746@prasad-kvm>
     [not found] ` <20110318195507.GI4746@prasad-kvm>
     [not found]   ` <20110318195643.GJ4746@prasad-kvm>
     [not found]     ` <20110318195754.GK4746@prasad-kvm>
     [not found]       ` <20110318195926.GL4746@prasad-kvm>
     [not found]         ` <20110318200045.GM4746@prasad-kvm>
     [not found]           ` <20110318200150.GN4746@prasad-kvm>
     [not found]             ` <20110318200254.GO4746@prasad-kvm>
     [not found]               ` <20110318200401.GP4746@prasad-kvm>
     [not found]                 ` <20110318200452.GQ4746@prasad-kvm>
2011-03-18 20:05                   ` [RFC][PATCH v3 17/22] mm, ia64: add gfp flags variant of pud, Prasad Joshi

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