diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 05b4ec2c6499daff7f658a95b6d5ab5f9d5605c7..5beea03dd58ad872d679376ee2b9f82cbe68f0fb 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -2336,6 +2336,9 @@ static unsigned long calculate_high_delay(struct mem_cgroup *memcg,
 		usage = page_counter_read(&memcg->memory);
 		high = READ_ONCE(memcg->high);
 
+		if (usage <= high)
+			continue;
+
 		/*
 		 * Prevent division by 0 in overage calculation by acting as if
 		 * it was a threshold of 1 page