Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e7f3bac95e0bdfd520e065c4a29aad46190fcc99
Commit:     e7f3bac95e0bdfd520e065c4a29aad46190fcc99
Parent:     5221b34edfd05ac35c077e071095cf853325320f
Author:     Haavard Skinnemoen <[EMAIL PROTECTED]>
AuthorDate: Fri Aug 3 13:29:01 2007 +0200
Committer:  Haavard Skinnemoen <[EMAIL PROTECTED]>
CommitDate: Wed Aug 15 16:36:56 2007 +0200

    [AVR32] Simplify pte_alloc_one{,_kernel}
    
    There's really no need to retry an allocation with __GFP_REPEAT set.
    Also, use get_zeroed_page() and __GFP_ZERO to eliminate the extra call
    to clear_page() afterwards.
    
    Signed-off-by: Haavard Skinnemoen <[EMAIL PROTECTED]>
---
 include/asm-avr32/pgalloc.h |   22 ++--------------------
 1 files changed, 2 insertions(+), 20 deletions(-)

diff --git a/include/asm-avr32/pgalloc.h b/include/asm-avr32/pgalloc.h
index 7524814..0e680f4 100644
--- a/include/asm-avr32/pgalloc.h
+++ b/include/asm-avr32/pgalloc.h
@@ -38,18 +38,9 @@ static inline void pgd_free(pgd_t *pgd)
 static inline pte_t *pte_alloc_one_kernel(struct mm_struct *mm,
                                          unsigned long address)
 {
-       int count = 0;
        pte_t *pte;
 
-       do {
-               pte = (pte_t *) __get_free_page(GFP_KERNEL | __GFP_REPEAT);
-               if (pte)
-                       clear_page(pte);
-               else {
-                       current->state = TASK_UNINTERRUPTIBLE;
-                       schedule_timeout(HZ);
-               }
-       } while (!pte && (count++ < 10));
+       pte = (pte_t *)get_zeroed_page(GFP_KERNEL | __GFP_REPEAT);
 
        return pte;
 }
@@ -57,18 +48,9 @@ static inline pte_t *pte_alloc_one_kernel(struct mm_struct 
*mm,
 static inline struct page *pte_alloc_one(struct mm_struct *mm,
                                         unsigned long address)
 {
-       int count = 0;
        struct page *pte;
 
-       do {
-               pte = alloc_pages(GFP_KERNEL, 0);
-               if (pte)
-                       clear_page(page_address(pte));
-               else {
-                       current->state = TASK_UNINTERRUPTIBLE;
-                       schedule_timeout(HZ);
-               }
-       } while (!pte && (count++ < 10));
+       pte = alloc_page(GFP_KERNEL | __GFP_REPEAT | __GFP_ZERO);
 
        return pte;
 }
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to