Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b6a60451813bad6a9f57cb159004c3b3e12a1cd3
Commit:     b6a60451813bad6a9f57cb159004c3b3e12a1cd3
Parent:     be6aab0e9fa6d3c6d75aa1e38ac972d8b4ee82b8
Author:     Hugh Dickins <[EMAIL PROTECTED]>
AuthorDate: Fri Jan 5 16:36:36 2007 -0800
Committer:  Linus Torvalds <[EMAIL PROTECTED]>
CommitDate: Fri Jan 5 23:55:23 2007 -0800

    [PATCH] fix BUG_ON(!PageSlab) from fallback_alloc
    
    pdflush hit the BUG_ON(!PageSlab(page)) in kmem_freepages called from
    fallback_alloc: cache_grow already freed those pages when alloc_slabmgmt
    failed.  But it wouldn't have freed them if __GFP_NO_GROW, so make sure
    fallback_alloc doesn't waste its time on that case.
    
    Signed-off-by: Hugh Dickins <[EMAIL PROTECTED]>
    Acked-by: Christoph Lameter <[EMAIL PROTECTED]>
    Acked-by: Pekka J Enberg <[EMAIL PROTECTED]>
    Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
    Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>
---
 mm/slab.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/mm/slab.c b/mm/slab.c
index 0d4e574..c610062 100644
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -3281,7 +3281,7 @@ retry:
                                        flags | GFP_THISNODE, nid);
        }
 
-       if (!obj) {
+       if (!obj && !(flags & __GFP_NO_GROW)) {
                /*
                 * This allocation will be performed within the constraints
                 * of the current cpuset / memory policy requirements.
@@ -3310,7 +3310,7 @@ retry:
                                         */
                                        goto retry;
                        } else {
-                               kmem_freepages(cache, obj);
+                               /* cache_grow already freed obj */
                                obj = NULL;
                        }
                }
-
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