On 1/14/20 2:52 PM, Mina Almasry wrote:
On Mon, Jan 13, 2020 at 4:55 PM Mike Kravetz mike.kravetz@oracle.com wrote:
+#ifdef CONFIG_CGROUP_HUGETLB
/*
* Since we check for HPAGE_RESV_OWNER above, this must a private
* mapping, and these values should be none-zero, and should point to
* the hugetlb_cgroup counter to uncharge for this reservation.
*/
WARN_ON(!resv->reservation_counter);
WARN_ON(!resv->pages_per_hpage);
WARN_ON(!resv->css);
I was once again wondering if these were always non-NULL for private mappings. It seems that reservation_counter (h_gc) would be NULL in these cases from these early checks in hugetlb_cgroup_charge_cgroup().
You are right. I'm fixing in v10 the code and comments to account for h_cg potentially being NULL, but I'm having trouble testing. Looking at the code, I'm a bit confused by the checks. Seems to me hugetlb_cgroup_disabled() is the same as #ifdef CONFIG_CGROUP_HUGETLB; I can't find a way to enable the Kconfig but have that return false unless I hack the code.
What about the boot options?
cgroup_disable= cgroup_no_v1=