Hi, All
In multiprocessor systems, each cache of the slab allocator includes a per-CPU data structure consisting of
a small array of pointers to freed objects called the slab local cache. The data structure of this cache is struct kmem_cache
, and the first element in it is struct array_cache *array[NR_CPUS], that means each CPU has a local cache with type struct array_cache
. Since one cpu may have several caches in its memory and each cache has pointers to local caches of all CPUs, my question is how to organize and implement the local cache in each CPU and why each cache must contain local caches of all CPUs?
Thanks!
--
National Research Center for Intelligent Computing Systems
Institute of Computing Technology, Chinese Academy of Sciences