summaryrefslogtreecommitdiffstats
path: root/mm/slub.c
diff options
context:
space:
mode:
authorPekka Enberg2009-06-11 15:18:09 +0200
committerPekka Enberg2009-06-13 22:37:38 +0200
commit95f8598931bd86a5775073db2fa2004b892dd3d0 (patch)
treec315a6fb15b626c31c139519e099fec43a1bec2b /mm/slub.c
parentSLUB: fix build when !SLUB_DEBUG (diff)
downloadkernel-qcow2-linux-95f8598931bd86a5775073db2fa2004b892dd3d0.tar.gz
kernel-qcow2-linux-95f8598931bd86a5775073db2fa2004b892dd3d0.tar.xz
kernel-qcow2-linux-95f8598931bd86a5775073db2fa2004b892dd3d0.zip
SLUB: Don't print out OOM warning for __GFP_NOFAIL
We must check for __GFP_NOFAIL like the page allocator does; otherwise we end up with false positives. While at it, add the printk_ratelimit() check in SLUB as well. Cc: Alexander Beregalov <a.beregalov@gmail.com> Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Diffstat (limited to 'mm/slub.c')
-rw-r--r--mm/slub.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/mm/slub.c b/mm/slub.c
index 9fb892b6afe3..0996b3be751a 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -1631,7 +1631,8 @@ new_slab:
c->page = new;
goto load_freelist;
}
- slab_out_of_memory(s, gfpflags, node);
+ if (!(gfpflags & __GFP_NOWARN) && printk_ratelimit())
+ slab_out_of_memory(s, gfpflags, node);
return NULL;
debug:
if (!alloc_debug_processing(s, c->page, object, addr))