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

Commit 63605309 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "f2fs: fix unnecessary periodic wakeup of discard thread when dev is busy"

parents 459f276e eacbd553
Loading
Loading
Loading
Loading
+7 −1
Original line number Original line Diff line number Diff line
@@ -1397,6 +1397,8 @@ static int issue_discard_thread(void *data)
	struct discard_policy dpolicy;
	struct discard_policy dpolicy;
	unsigned int wait_ms = DEF_MIN_DISCARD_ISSUE_TIME;
	unsigned int wait_ms = DEF_MIN_DISCARD_ISSUE_TIME;
	int issued;
	int issued;
	unsigned long interval = sbi->interval_time[REQ_TIME] * HZ;
	long delta;


	set_freezable();
	set_freezable();


@@ -1433,6 +1435,10 @@ static int issue_discard_thread(void *data)
			__wait_all_discard_cmd(sbi, &dpolicy);
			__wait_all_discard_cmd(sbi, &dpolicy);
			wait_ms = dpolicy.min_interval;
			wait_ms = dpolicy.min_interval;
		} else if (issued == -1){
		} else if (issued == -1){
			delta = (sbi->last_time[REQ_TIME] + interval) - jiffies;
			if (delta > 0)
				wait_ms = jiffies_to_msecs(delta);
			else
				wait_ms = dpolicy.mid_interval;
				wait_ms = dpolicy.mid_interval;
		} else {
		} else {
			wait_ms = dpolicy.max_interval;
			wait_ms = dpolicy.max_interval;