diff options
author | Pekka Enberg <penberg@cs.helsinki.fi> | 2009-06-12 14:03:06 +0300 |
---|---|---|
committer | Pekka Enberg <penberg@cs.helsinki.fi> | 2009-06-12 18:53:33 +0300 |
commit | 7e85ee0c1d15ca5f8bff0f514f158eba1742dd87 (patch) | |
tree | 8f9c21f0df6bea88740d7dd48834ac9ffc238e93 /include/linux/slob_def.h | |
parent | eb91f1d0a531289e18f5587dc197d12a251c66a3 (diff) | |
download | linux-7e85ee0c1d15ca5f8bff0f514f158eba1742dd87.tar.gz linux-7e85ee0c1d15ca5f8bff0f514f158eba1742dd87.tar.bz2 linux-7e85ee0c1d15ca5f8bff0f514f158eba1742dd87.zip |
slab,slub: don't enable interrupts during early boot
As explained by Benjamin Herrenschmidt:
Oh and btw, your patch alone doesn't fix powerpc, because it's missing
a whole bunch of GFP_KERNEL's in the arch code... You would have to
grep the entire kernel for things that check slab_is_available() and
even then you'll be missing some.
For example, slab_is_available() didn't always exist, and so in the
early days on powerpc, we used a mem_init_done global that is set form
mem_init() (not perfect but works in practice). And we still have code
using that to do the test.
Therefore, mask out __GFP_WAIT, __GFP_IO, and __GFP_FS in the slab allocators
in early boot code to avoid enabling interrupts.
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Diffstat (limited to 'include/linux/slob_def.h')
-rw-r--r-- | include/linux/slob_def.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/slob_def.h b/include/linux/slob_def.h index 0ec00b39d006..bb5368df4be8 100644 --- a/include/linux/slob_def.h +++ b/include/linux/slob_def.h @@ -34,4 +34,9 @@ static __always_inline void *__kmalloc(size_t size, gfp_t flags) return kmalloc(size, flags); } +static inline void kmem_cache_init_late(void) +{ + /* Nothing to do */ +} + #endif /* __LINUX_SLOB_DEF_H */ |