[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200123172707.GA24441@paulmck-ThinkPad-P72>
Date: Thu, 23 Jan 2020 09:27:07 -0800
From: "Paul E. McKenney" <paulmck@...nel.org>
To: dave@...olabs.net, josh@...htriplett.org
Cc: linux-kernel@...r.kernel.org, will@...nel.org, peterz@...radead.org
Subject: [PATCH RFC locktorture] Print ratio of acquisitions, not failures
The __torture_print_stats() function in locktorture.c carefully
initializes local variable "min" to statp[0].n_lock_acquired, but
then compares it to statp[i].n_lock_fail. Given that the .n_lock_fail
field should normally be zero, and given the initialization, it seems
reasonable to display the maximum and minimum number acquisitions
instead of miscomputing the maximum and minimum number of failures.
This commit therefore switches from failures to acquisitions.
Reported-by: Will Deacon <will@...nel.org>
Signed-off-by: Paul E. McKenney <paulmck@...nel.org>
Cc: Davidlohr Bueso <dave@...olabs.net>
Cc: Josh Triplett <josh@...htriplett.org>
Cc: Peter Zijlstra <peterz@...radead.org>
diff --git a/kernel/locking/locktorture.c b/kernel/locking/locktorture.c
index 99475a6..687c1d8 100644
--- a/kernel/locking/locktorture.c
+++ b/kernel/locking/locktorture.c
@@ -696,10 +696,10 @@ static void __torture_print_stats(char *page,
if (statp[i].n_lock_fail)
fail = true;
sum += statp[i].n_lock_acquired;
- if (max < statp[i].n_lock_fail)
- max = statp[i].n_lock_fail;
- if (min > statp[i].n_lock_fail)
- min = statp[i].n_lock_fail;
+ if (max < statp[i].n_lock_acquired)
+ max = statp[i].n_lock_acquired;
+ if (min > statp[i].n_lock_acquired)
+ min = statp[i].n_lock_acquired;
}
page += sprintf(page,
"%s: Total: %lld Max/Min: %ld/%ld %s Fail: %d %s\n",
Powered by blists - more mailing lists