Hi,
While working on KDB for ppc64, I hit a race in kdb(). Verified that the
problem exists on x86 too..
Problem occurs when a bp is set on a very frequently hit routine (eg.,
sys_read() or schedule()), and multiple processors hit the bp
simultaneously. This is the problem I am seeing...
CPU0 CPU1
| |
kdb(reason = break) |
| |
| |
spin_lock() |
| |
kdb_initial_cpu = 0; |
| |
spin_unlock() |
.. kdb(reason = break)
| |
| if (reason != KDB_REASON_SWITCH) {
| if (KDB_IS_RUNNING() && !KDB_STATE(REENTRY))
| <is true>
| ....
|
|
smp_kdb_stop();
Thanks,
Ananth
--
Ananth Narayan
Linux Technology Center,
IBM Software Lab, INDIA
---------------------------
Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe.