Messages in this thread Patch in this message | | | Date | Thu, 5 Aug 2010 12:33:22 -0500 (CDT) | From | Christoph Lameter <> | Subject | Re: [S+Q3 00/23] SLUB: The Unified slab allocator (V3) |
| |
On Thu, 5 Aug 2010, David Rientjes wrote:
> I bisected this to patch 8 but still don't have a bootlog. I'm assuming > in the meantime that something is kmallocing DMA memory on this machine > prior to kmem_cache_init_late() and get_slab() is returning a NULL > pointer.
There is a kernel option "earlyprintk=..." that allows you to see early boot messages.
If this indeed is a problem with the DMA caches then try the following patch:
Subject: slub: Move dma cache initialization up
Do dma kmalloc initialization in kmem_cache_init and not in kmem_cache_init_late()
Signed-off-by: Christoph Lameter <cl@linux.com>
--- mm/slub.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-)
Index: linux-2.6/mm/slub.c =================================================================== --- linux-2.6.orig/mm/slub.c 2010-08-05 12:24:21.000000000 -0500 +++ linux-2.6/mm/slub.c 2010-08-05 12:28:58.000000000 -0500 @@ -3866,13 +3866,8 @@ void __init kmem_cache_init(void) #ifdef CONFIG_SMP register_cpu_notifier(&slab_notifier); #endif -}
-void __init kmem_cache_init_late(void) -{ #ifdef CONFIG_ZONE_DMA - int i; - /* Create the dma kmalloc array and make it operational */ for (i = 0; i < SLUB_PAGE_SHIFT; i++) { struct kmem_cache *s = kmalloc_caches[i]; @@ -3891,6 +3886,10 @@ void __init kmem_cache_init_late(void) #endif }
+void __init kmem_cache_init_late(void) +{ +} + /* * Find a mergeable slab cache */
| |