2013/2/7 Li Zhong <zh...@linux.vnet.ibm.com>: > On Thu, 2013-02-07 at 01:29 +0100, Frederic Weisbecker wrote: >> In x86-64, schedule_user() and do_notify_resume() can be called before >> syscall_trace_leave(). As a result we may be entering >> syscall_trace_leave() in user mode (from a context tracking POV). To >> fix this I added a call to user_exit() on the very beginning of that >> function. >> >> You can find the details in 2c5594df344cd1ff0cc9bf007dea3235582b3acf >> ("rcu: Fix unrecovered RCU user mode in syscall_trace_leave()"). > > Hi Frederic, > > Thank you very much for the reminding. > >> >> Could this problem happen in ppc as well? > > I checked the code(64 bit) today, it seems to me that it won't happen. > But fortunately, we are in the ppc mailing list, please correct me if my > understanding is wrong.
Ah indeed. Looking at syscall_exit_work label in entry_64.S, do_syscall_trace_leave is called before ret_from_except which is where we handle user preemption and do_notify_resume. So that looks fine. > > By the way, I enabled CONTEXT_TRACKING_FORCE and PROVE_RCU, so if it > could happen, I think there should be some illegal RCU usage complaints > reported. Ok. Thanks. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/