On Thu 13-12-12 11:39:17, Jianguo Wu wrote: > Build kernel with CONFIG_HUGETLBFS=y,CONFIG_HUGETLB_PAGE=y > and CONFIG_CGROUP_HUGETLB=y, then specify hugepagesz=xx boot option, > system will boot fail. > > This failure is caused by following code path: > setup_hugepagesz > hugetlb_add_hstate > hugetlb_cgroup_file_init > cgroup_add_cftypes > kzalloc <--slab is *not available* yet > > For this path, slab is not available yet, so memory allocated will be > failed, and cause WARN_ON() in hugetlb_cgroup_file_init(). > > So I move hugetlb_cgroup_file_init() into hugetlb_init(). > > Changelog: > do code refactor as suggesting by Aneesh > add Reviewed-by and Acked-by > > Signed-off-by: Jianguo Wu <wujianguo@xxxxxxxxxx> > Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxx> > Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> > Acked-by: Michal Hocko <mhocko@xxxxxxx> Any reason to not add Cc: stable as I suggested earlier? -- Michal Hocko SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>