- 論壇徽章:
- 0
|
覺得該函數(shù)在初始化kmem_cache_t的array_cache時有重復,能否請解釋一下。
void __init kmem_cache_init(void)
{
…………
/* 5) resize the head arrays to their final sizes */
{
kmem_cache_t *cachep;
down(&cache_chain_sem);
list_for_each_entry(cachep, &cache_chain, next)
enable_cpucache(cachep);
up(&cache_chain_sem);
}
/* Done! */
g_cpucache_up = FULL;
/* Register a cpu startup notifier callback
* that initializes ac_data for all new cpus
*/
register_cpu_notifier(&cpucache_notifier);
…………
}
已經(jīng)調(diào)用list_for_each_entry(cachep, &cache_chain, next)
enable_cpucache(cachep);
對各通用緩存的array_cache分配初始化了,然后又發(fā)出cpucache_notifier事件,該事件似乎又進行了一次同樣的分配array_cache的工作,是怎么回事?
|
|