diff options
| author | Andrey Vagin <[email protected]> | 2013-09-11 14:22:18 -0700 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2013-09-11 15:57:53 -0700 |
| commit | 90c7a79cc45becc6cdb8c026d55ace19e299a02d (patch) | |
| tree | 9945ae5d0ab316e2eecba158265976a308a37204 /include/linux | |
| parent | e76b63f80d938a1319eb5fb0ae7ea69bddfbae38 (diff) | |
kmemcg: don't allocate extra memory for root memcg_cache_params
The memcg_cache_params structure contains the common part and the union,
which represents two different types of data: one for root cashes and
another for child caches.
The size of child data is fixed. The size of the memcg_caches array is
calculated in runtime.
Currently the size of memcg_cache_params for root caches is calculated
incorrectly, because it includes the size of parameters for child caches.
ssize_t size = memcg_caches_array_size(num_groups);
size *= sizeof(void *);
size += sizeof(struct memcg_cache_params);
v2: Fix a typo in calculations
Signed-off-by: Andrey Vagin <[email protected]>
Cc: Glauber Costa <[email protected]>
Cc: Johannes Weiner <[email protected]>
Cc: Michal Hocko <[email protected]>
Cc: Balbir Singh <[email protected]>
Cc: KAMEZAWA Hiroyuki <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'include/linux')
0 files changed, 0 insertions, 0 deletions