Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e6357bcd authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "mm/vmalloc.c: fix __purge_vmap_area_lazy takes long time"

parents d62fe7e1 ae7c5d15
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -1265,6 +1265,7 @@ static bool __purge_vmap_area_lazy(unsigned long start, unsigned long end)
	struct llist_node *valist;
	struct vmap_area *va;
	struct vmap_area *n_va;
	unsigned long flush_all_threshold = VMALLOC_END - VMALLOC_START;

	lockdep_assert_held(&vmap_purge_lock);

@@ -1283,7 +1284,10 @@ static bool __purge_vmap_area_lazy(unsigned long start, unsigned long end)
			end = va->va_end;
	}

	if (end - start <= flush_all_threshold)
		flush_tlb_kernel_range(start, end);
	else
		flush_tlb_all();
	resched_threshold = lazy_max_pages() << 1;

	spin_lock(&vmap_area_lock);