Re: mm section mismatches

Christoph Lameter
2006-10-08T21:51:11Z

On Sun, 8 Oct 2006, Pekka J Enberg wrote:

> setup_cpu_cache is a non-init function that calls set_up_list3s which is
> init. However, due to g_cpucache_up, we will never hit the branch in
> setup_cpu_cache that calls set_up_list3s.

It hits that code during bootstrap. Note that g_cpucache_up is NONE on
startup and thus we will be hitting that function from kmem_init().

> No idea how to fix the warning. Due to g_cpucache_up, we need some entry
> point that calls both init and non-init functions... Christoph?

To tell you the truth on of the crappy issues about the
current slab is the mindboogling way of complexity of the bootstrap.
Which is due to the inability to statically define a kmem_cache
structure because we seem to have made an early decision to only work with
kmem_cache_t handles so that the data structures are opaque from the
outside.

To fix: Revert the change that made set_up_lists3s non init.
In 2.6.18-mm3 this set_up_list3s is not init.