|
@@ -131,7 +131,7 @@ struct rcu_torture {
|
|
|
|
|
|
static LIST_HEAD(rcu_torture_freelist);
|
|
|
static struct rcu_torture __rcu *rcu_torture_current;
|
|
|
-static long rcu_torture_current_version;
|
|
|
+static unsigned long rcu_torture_current_version;
|
|
|
static struct rcu_torture rcu_tortures[10 * RCU_TORTURE_PIPE_LEN];
|
|
|
static DEFINE_SPINLOCK(rcu_torture_lock);
|
|
|
static DEFINE_PER_CPU(long [RCU_TORTURE_PIPE_LEN + 1], rcu_torture_count) =
|
|
@@ -884,7 +884,7 @@ rcu_torture_writer(void *arg)
|
|
|
old_rp->rtort_pipe_count++;
|
|
|
cur_ops->deferred_free(old_rp);
|
|
|
}
|
|
|
- rcu_torture_current_version++;
|
|
|
+ rcutorture_record_progress(++rcu_torture_current_version);
|
|
|
oldbatch = cur_ops->completed();
|
|
|
rcu_stutter_wait("rcu_torture_writer");
|
|
|
} while (!kthread_should_stop() && fullstop == FULLSTOP_DONTSTOP);
|
|
@@ -1064,7 +1064,7 @@ rcu_torture_printk(char *page)
|
|
|
}
|
|
|
cnt += sprintf(&page[cnt], "%s%s ", torture_type, TORTURE_FLAG);
|
|
|
cnt += sprintf(&page[cnt],
|
|
|
- "rtc: %p ver: %ld tfle: %d rta: %d rtaf: %d rtf: %d "
|
|
|
+ "rtc: %p ver: %lu tfle: %d rta: %d rtaf: %d rtf: %d "
|
|
|
"rtmbe: %d rtbke: %ld rtbre: %ld "
|
|
|
"rtbf: %ld rtb: %ld nt: %ld",
|
|
|
rcu_torture_current,
|
|
@@ -1325,6 +1325,7 @@ rcu_torture_cleanup(void)
|
|
|
int i;
|
|
|
|
|
|
mutex_lock(&fullstop_mutex);
|
|
|
+ rcutorture_record_test_transition();
|
|
|
if (fullstop == FULLSTOP_SHUTDOWN) {
|
|
|
printk(KERN_WARNING /* but going down anyway, so... */
|
|
|
"Concurrent 'rmmod rcutorture' and shutdown illegal!\n");
|
|
@@ -1616,6 +1617,7 @@ rcu_torture_init(void)
|
|
|
}
|
|
|
}
|
|
|
register_reboot_notifier(&rcutorture_shutdown_nb);
|
|
|
+ rcutorture_record_test_transition();
|
|
|
mutex_unlock(&fullstop_mutex);
|
|
|
return 0;
|
|
|
|