summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavidlohr Bueso <dave@stgolabs.net>2014-09-11 20:40:20 -0700
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2014-09-16 13:41:05 -0700
commit1e6757a92189278c484799ea98fc69bdc528940e (patch)
tree434aee0cfb1b22a6900f152c4aba1be5127dde95
parentf095bfc0ea04829d6962edaf06a5c56e0c251f5b (diff)
downloadop-kernel-dev-1e6757a92189278c484799ea98fc69bdc528940e.zip
op-kernel-dev-1e6757a92189278c484799ea98fc69bdc528940e.tar.gz
locktorture: Make statistics generic
The statistics structure can serve well for both reader and writer locks, thus simply rename some fields that mention 'write' and leave the declaration of lwsa. Signed-off-by: Davidlohr Bueso <dbueso@suse.de> Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
-rw-r--r--kernel/locking/locktorture.c32
1 files changed, 16 insertions, 16 deletions
diff --git a/kernel/locking/locktorture.c b/kernel/locking/locktorture.c
index a6049fa..de703a7 100644
--- a/kernel/locking/locktorture.c
+++ b/kernel/locking/locktorture.c
@@ -78,11 +78,11 @@ static struct task_struct **writer_tasks;
static int nrealwriters_stress;
static bool lock_is_write_held;
-struct lock_writer_stress_stats {
- long n_write_lock_fail;
- long n_write_lock_acquired;
+struct lock_stress_stats {
+ long n_lock_fail;
+ long n_lock_acquired;
};
-static struct lock_writer_stress_stats *lwsa;
+static struct lock_stress_stats *lwsa; /* writer statistics */
#if defined(MODULE)
#define LOCKTORTURE_RUNNABLE_INIT 1
@@ -250,7 +250,7 @@ static struct lock_torture_ops mutex_lock_ops = {
*/
static int lock_torture_writer(void *arg)
{
- struct lock_writer_stress_stats *lwsp = arg;
+ struct lock_stress_stats *lwsp = arg;
static DEFINE_TORTURE_RANDOM(rand);
VERBOSE_TOROUT_STRING("lock_torture_writer task started");
@@ -261,9 +261,9 @@ static int lock_torture_writer(void *arg)
schedule_timeout_uninterruptible(1);
cur_ops->writelock();
if (WARN_ON_ONCE(lock_is_write_held))
- lwsp->n_write_lock_fail++;
+ lwsp->n_lock_fail++;
lock_is_write_held = 1;
- lwsp->n_write_lock_acquired++;
+ lwsp->n_lock_acquired++;
cur_ops->write_delay(&rand);
lock_is_write_held = 0;
cur_ops->writeunlock();
@@ -281,17 +281,17 @@ static void lock_torture_printk(char *page)
bool fail = 0;
int i;
long max = 0;
- long min = lwsa[0].n_write_lock_acquired;
+ long min = lwsa[0].n_lock_acquired;
long long sum = 0;
for (i = 0; i < nrealwriters_stress; i++) {
- if (lwsa[i].n_write_lock_fail)
+ if (lwsa[i].n_lock_fail)
fail = true;
- sum += lwsa[i].n_write_lock_acquired;
- if (max < lwsa[i].n_write_lock_fail)
- max = lwsa[i].n_write_lock_fail;
- if (min > lwsa[i].n_write_lock_fail)
- min = lwsa[i].n_write_lock_fail;
+ sum += lwsa[i].n_lock_acquired;
+ if (max < lwsa[i].n_lock_fail)
+ max = lwsa[i].n_lock_fail;
+ if (min > lwsa[i].n_lock_fail)
+ min = lwsa[i].n_lock_fail;
}
page += sprintf(page, "%s%s ", torture_type, TORTURE_FLAG);
page += sprintf(page,
@@ -441,8 +441,8 @@ static int __init lock_torture_init(void)
goto unwind;
}
for (i = 0; i < nrealwriters_stress; i++) {
- lwsa[i].n_write_lock_fail = 0;
- lwsa[i].n_write_lock_acquired = 0;
+ lwsa[i].n_lock_fail = 0;
+ lwsa[i].n_lock_acquired = 0;
}
/* Start up the kthreads. */
OpenPOWER on IntegriCloud