SLUB: Out-of-memory diagnostics
authorPekka Enberg <penberg@cs.helsinki.fi>
Wed, 10 Jun 2009 15:50:32 +0000 (18:50 +0300)
committerPekka Enberg <penberg@cs.helsinki.fi>
Thu, 11 Jun 2009 15:14:18 +0000 (18:14 +0300)
commit781b2ba6eb5f22440afac9c79a89ebd6e3674a60
tree89f3665c52e68cde9aab3eaf249d33e90db5fc20
parent59a3759d0fe8d969888c741bb33f4946e4d3750d
SLUB: Out-of-memory diagnostics

As suggested by Mel Gorman, add out-of-memory diagnostics to the SLUB allocator
to make debugging OOM conditions easier. This patch helped hunt down a nasty
OOM issue that popped up every now that was caused by SLUB debugging code which
forced 4096 byte allocations to use order 1 pages even in the fallback case.

An example print out looks like this:

  <snip page allocator out-of-memory message>
  SLUB: Unable to allocate memory on node -1 (gfp=20)
    cache: kmalloc-4096, object size: 4096, buffer size: 4168, default order: 3, min order: 1
    node 0: slabs: 95, objs: 665, free: 0

Acked-by: Christoph Lameter <cl@linux-foundation.org>
Acked-by: Mel Gorman <mel@csn.ul.ie>
Tested-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
mm/slub.c