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.

Reply via email to