How to Celebrate The Second Heisenbug Hunt?
I haven't yet decided, but the possibilities include:
- Test the full set of
configurations
for extended time periods.
Perhaps something to do over the US Thanksgiving holiday.
(Done.)
- Validate the tracing data that RCU provides via debugfs. (Done.)
- Modify
kernel/rcutree.h
to allow a four-level
rcu_node
hierarchy, then run one on a 16-CPU
machine.
The idea here would be to flush out any race conditions that
might be provoked by the taller hierarchy. (Done.)
- Make use of the stutter and shuffle capabilties within rcutorture.
(Done.)
- Create a new rcutorture option to invoke
force_quiescent_state()
more frequently, on the order
of microseconds rather than milliseconds, as suggested by
Josh Triplett.
- Implement expedited preemptible RCU grace periods, and see if
these provoke additional bugs.
Currently “expedited” preemptible RCU grace periods
just invoke the normal RCU grace period.
(Done.)
- Inspect the code, producing low-level documentation in the
process.
But what would you do?