The patch titled Subject: hugetlb: remove check_coalesce_bug debug code has been removed from the -mm tree. Its filename was hugetlb-support-file_region-coalescing-again-fix-2.patch This patch was dropped because it was folded into hugetlb-support-file_region-coalescing-again.patch ------------------------------------------------------ From: Mina Almasry <almasrymina@xxxxxxxxxx> Subject: hugetlb: remove check_coalesce_bug debug code Commit b5f16a533ce8a ("hugetlb: support file_region coalescing again") made changes to the resv_map code which are hard to test, it so added debug code guarded by CONFIG_DEBUG_VM which conducts an expensive operation that loops over the resv_map and checks it for errors. Unfortunately, some distros have CONFIG_DEBUG_VM on in their default kernels, and we don't want this debug code behind CONFIG_DEBUG_VM and called each time a file region is added. This patch removes this debug code. I may look into making it a test or leave it for my local testing. Link: http://lkml.kernel.org/r/20200219233610.13808-1-almasrymina@xxxxxxxxxx Fixes: b5f16a533ce8a ("hugetlb: support file_region coalescing again") Signed-off-by: Mina Almasry <almasrymina@xxxxxxxxxx> Reviewed-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Shakeel Butt <shakeelb@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- mm/hugetlb.c | 43 ------------------------------------------- 1 file changed, 43 deletions(-) --- a/mm/hugetlb.c~hugetlb-support-file_region-coalescing-again-fix-2 +++ a/mm/hugetlb.c @@ -289,48 +289,6 @@ static bool has_same_uncharge_info(struc #endif } -#if defined(CONFIG_DEBUG_VM) && defined(CONFIG_CGROUP_HUGETLB) -static void dump_resv_map(struct resv_map *resv) -{ - struct list_head *head = &resv->regions; - struct file_region *rg = NULL; - - pr_err("--------- start print resv_map ---------\n"); - list_for_each_entry(rg, head, link) { - pr_err("rg->from=%ld, rg->to=%ld, rg->reservation_counter=%px, rg->css=%px\n", - rg->from, rg->to, rg->reservation_counter, rg->css); - } - pr_err("--------- end print resv_map ---------\n"); -} - -/* Debug function to loop over the resv_map and make sure that coalescing is - * working. - */ -static void check_coalesce_bug(struct resv_map *resv) -{ - struct list_head *head = &resv->regions; - struct file_region *rg = NULL, *nrg = NULL; - - list_for_each_entry(rg, head, link) { - nrg = list_next_entry(rg, link); - - if (&nrg->link == head) - break; - - if (nrg->reservation_counter && nrg->from == rg->to && - nrg->reservation_counter == rg->reservation_counter && - nrg->css == rg->css) { - dump_resv_map(resv); - VM_BUG_ON(true); - } - } -} -#else -static void check_coalesce_bug(struct resv_map *resv) -{ -} -#endif - static void coalesce_file_region(struct resv_map *resv, struct file_region *rg) { struct file_region *nrg = NULL, *prg = NULL; @@ -435,7 +393,6 @@ static long add_reservation_in_range(str } VM_BUG_ON(add < 0); - check_coalesce_bug(resv); return add; } _ Patches currently in -mm which might be from almasrymina@xxxxxxxxxx are hugetlb_cgroup-add-hugetlb_cgroup-reservation-counter.patch hugetlb_cgroup-add-interface-for-charge-uncharge-hugetlb-reservations.patch mm-hugetlb_cgroup-fix-hugetlb_cgroup-migration.patch hugetlb_cgroup-add-reservation-accounting-for-private-mappings.patch hugetlb-disable-region_add-file_region-coalescing.patch hugetlb_cgroup-add-accounting-for-shared-mappings.patch hugetlb_cgroup-support-noreserve-mappings.patch hugetlb-support-file_region-coalescing-again.patch hugetlb_cgroup-add-hugetlb_cgroup-reservation-tests.patch hugetlb_cgroup-add-hugetlb_cgroup-reservation-docs.patch