diff options
author | Joonsoo Kim <iamjoonsoo.kim@lge.com> | 2013-10-24 10:07:42 +0900 |
---|---|---|
committer | Pekka Enberg <penberg@iki.fi> | 2013-10-24 20:17:31 +0300 |
commit | 68126702b419fd26ef4946e314bb3a1f57d3a53f (patch) | |
tree | af7acaf8d13921ab34271cb500d8454940a12e86 /include/linux/mm_types.h | |
parent | 07d417a1c6f1e386a2276b0cae8ae1d14b8a32cc (diff) | |
download | linux-stable-68126702b419fd26ef4946e314bb3a1f57d3a53f.tar.gz linux-stable-68126702b419fd26ef4946e314bb3a1f57d3a53f.tar.bz2 linux-stable-68126702b419fd26ef4946e314bb3a1f57d3a53f.zip |
slab: overloading the RCU head over the LRU for RCU free
With build-time size checking, we can overload the RCU head over the LRU
of struct page to free pages of a slab in rcu context. This really help to
implement to overload the struct slab over the struct page and this
eventually reduce memory usage and cache footprint of the SLAB.
Acked-by: Andi Kleen <ak@linux.intel.com>
Acked-by: Christoph Lameter <cl@linux.com>
Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Signed-off-by: Pekka Enberg <penberg@iki.fi>
Diffstat (limited to 'include/linux/mm_types.h')
-rw-r--r-- | include/linux/mm_types.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h index faf4b7c1ad12..959cb369b197 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h @@ -130,6 +130,9 @@ struct page { struct list_head list; /* slobs list of pages */ struct slab *slab_page; /* slab fields */ + struct rcu_head rcu_head; /* Used by SLAB + * when destroying via RCU + */ }; /* Remainder is not double word aligned */ |