From: David Ahern <david.ahern@xxxxxxxxxx> Date: Tue, 31 Mar 2015 13:49:46 -0600 > The scheduler tracepoints can be hit with the run queue lock > taken. Per the above while walking the userspace callchains page > faults can cause paths where __schedule gets called again. The > deadlock happens because it wants the runqueue lock again. > > For PowerPC (b59a1bfcc2406ea75346977ad016cfe909a762ac) the solution > was to disable pagefaults while walking userspace stacks. That does > not work for sparc; rather that change results in process terminating > due to a SIGBUS: What is different in the PowerPC fault path vs. the Sparc one that causes the SIGBUS for sparc where the PowerPC does not see it? I don't understand where the SIGBUS comes from. In a pagefault disable section on sparc, in_atomic() should be true, thus we'll call do_kernel_fault(), fall through to the TSTATE_PRIV code path and simply run the exception handler. -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html