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

Pavel Machek
2005-07-30T13:20:15Z

On Pá 29-07-05 21:46:40, Michal Schmidt wrote:
> 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.
>
> Signed-off-by: Michal Schmidt <xschmi00@stud.feec.vutbr.cz>

Thanks, applied.

> diff -Nurp -X dontdiff.new linux-mm/kernel/power/swsusp.c linux-mm.mich/kernel/power/swsusp.c
> --- linux-mm/kernel/power/swsusp.c 2005-07-28 13:57:53.000000000 +0200
> +++ linux-mm.mich/kernel/power/swsusp.c 2005-07-29 21:01:46.000000000 +0200
> @@ -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);
> }
>
> /**

--
teflon -- maybe it is a trademark, but it should not be.