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

Commit debdfa5c authored by Deepak Kumar's avatar Deepak Kumar
Browse files

msm: kgsl: Fix nr_removed calculation while reducing pools



Current code is reducing total_pages by pcount for each
loop iteration which results in decrementing total_pages
incorrectly as pcount is total number of pages reduced
in all previous iterations. Incorrect total_pages results
in incorrect nr_removed. Fix this by not decrementing
total_pages and directly accounting for already reduced
pages in nr_removed calculation.

Change-Id: I69485c26f1f98974eecc30caa1a888ddeafe7c73
Signed-off-by: default avatarDeepak Kumar <dkumar@codeaurora.org>
parent d9ce9a59
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (c) 2016-2020, The Linux Foundation. All rights reserved.
 * Copyright (c) 2016-2021, The Linux Foundation. All rights reserved.
 */

#include <asm/cacheflush.h>
@@ -176,9 +176,7 @@ kgsl_pool_reduce(unsigned int target_pages, bool exit)
		if (!pool->allocation_allowed && !exit)
			continue;

		total_pages -= pcount;

		nr_removed = total_pages - target_pages;
		nr_removed = total_pages - target_pages - pcount;
		if (nr_removed <= 0)
			return pcount;