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

Commit 6a328475 authored by Jim Kukunas's avatar Jim Kukunas Committed by NeilBrown
Browse files

crypto: wait for a full jiffy in do_xor_speed



In the existing do_xor_speed(), there is no guarantee that we actually
run do_2() for a full jiffy. We get the current jiffy, then run do_2()
until the next jiffy.

Instead, let's get the current jiffy, then wait until the next jiffy
to start our test.

Signed-off-by: default avatarJim Kukunas <james.t.kukunas@linux.intel.com>
Signed-off-by: default avatarNeilBrown <neilb@suse.de>
parent 3ea7daa5
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -63,7 +63,7 @@ static void
do_xor_speed(struct xor_block_template *tmpl, void *b1, void *b2)
{
	int speed;
	unsigned long now;
	unsigned long now, j;
	int i, count, max;

	tmpl->next = template_list;
@@ -76,9 +76,11 @@ do_xor_speed(struct xor_block_template *tmpl, void *b1, void *b2)
	 */
	max = 0;
	for (i = 0; i < 5; i++) {
		now = jiffies;
		j = jiffies;
		count = 0;
		while (jiffies == now) {
		while ((now = jiffies) == j)
			cpu_relax();
		while (time_before(jiffies, now + 1)) {
			mb(); /* prevent loop optimzation */
			tmpl->do_2(BENCH_SIZE, b1, b2);
			mb();