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

Commit 56057e1a authored by Michal Schmidt's avatar Michal Schmidt Committed by Linus Torvalds
Browse files

[PATCH] swsusp: simpler calculation of number of pages in PBE list



The function calc_nr uses an iterative algorithm to calculate the number of
pages needed for the image and the pagedir.  Exactly the same result can be
obtained with a one-line expression.

Note that this was even proved correct ;-).

Signed-off-by: default avatarMichal Schmidt <xschmi00@stud.feec.vutbr.cz>
Signed-off-by: default avatarPavel Machek <pavel@suse.cz>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 46dacba5
Loading
Loading
Loading
Loading
+1 −12
Original line number Diff line number Diff line
@@ -737,18 +737,7 @@ static void copy_data_pages(void)

static int calc_nr(int nr_copy)
{
	int extra = 0;
	int mod = !!(nr_copy % PBES_PER_PAGE);
	int diff = (nr_copy / PBES_PER_PAGE) + mod;

	do {
		extra += diff;
		nr_copy += diff;
		mod = !!(nr_copy % PBES_PER_PAGE);
		diff = (nr_copy / PBES_PER_PAGE) + mod - extra;
	} while (diff > 0);

	return nr_copy;
	return nr_copy + (nr_copy+PBES_PER_PAGE-2)/(PBES_PER_PAGE-1);
}

/**