diff options
Diffstat (limited to 'mm/hugetlb_cgroup.c')
-rw-r--r-- | mm/hugetlb_cgroup.c | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/mm/hugetlb_cgroup.c b/mm/hugetlb_cgroup.c index b5bde7a5c017..9cea7de22ffb 100644 --- a/mm/hugetlb_cgroup.c +++ b/mm/hugetlb_cgroup.c | |||
@@ -333,7 +333,7 @@ static char *mem_fmt(char *buf, int size, unsigned long hsize) | |||
333 | return buf; | 333 | return buf; |
334 | } | 334 | } |
335 | 335 | ||
336 | int __init hugetlb_cgroup_file_init(int idx) | 336 | static void __init __hugetlb_cgroup_file_init(int idx) |
337 | { | 337 | { |
338 | char buf[32]; | 338 | char buf[32]; |
339 | struct cftype *cft; | 339 | struct cftype *cft; |
@@ -375,7 +375,22 @@ int __init hugetlb_cgroup_file_init(int idx) | |||
375 | 375 | ||
376 | WARN_ON(cgroup_add_cftypes(&hugetlb_subsys, h->cgroup_files)); | 376 | WARN_ON(cgroup_add_cftypes(&hugetlb_subsys, h->cgroup_files)); |
377 | 377 | ||
378 | return 0; | 378 | return; |
379 | } | ||
380 | |||
381 | void __init hugetlb_cgroup_file_init(void) | ||
382 | { | ||
383 | struct hstate *h; | ||
384 | |||
385 | for_each_hstate(h) { | ||
386 | /* | ||
387 | * Add cgroup control files only if the huge page consists | ||
388 | * of more than two normal pages. This is because we use | ||
389 | * page[2].lru.next for storing cgroup details. | ||
390 | */ | ||
391 | if (huge_page_order(h) >= HUGETLB_CGROUP_MIN_ORDER) | ||
392 | __hugetlb_cgroup_file_init(hstate_index(h)); | ||
393 | } | ||
379 | } | 394 | } |
380 | 395 | ||
381 | /* | 396 | /* |