Merge tag 'core-entry-2020-12-14' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-microblaze.git] / arch / Kconfig
index ba4e966..7a3371d 100644 (file)
@@ -618,6 +618,23 @@ config HAVE_CONTEXT_TRACKING
          protected inside rcu_irq_enter/rcu_irq_exit() but preemption or signal
          handling on irq exit still need to be protected.
 
+config HAVE_CONTEXT_TRACKING_OFFSTACK
+       bool
+       help
+         Architecture neither relies on exception_enter()/exception_exit()
+         nor on schedule_user(). Also preempt_schedule_notrace() and
+         preempt_schedule_irq() can't be called in a preemptible section
+         while context tracking is CONTEXT_USER. This feature reflects a sane
+         entry implementation where the following requirements are met on
+         critical entry code, ie: before user_exit() or after user_enter():
+
+         - Critical entry code isn't preemptible (or better yet:
+           not interruptible).
+         - No use of RCU read side critical sections, unless rcu_nmi_enter()
+           got called.
+         - No use of instrumentation, unless instrumentation_begin() got
+           called.
+
 config HAVE_TIF_NOHZ
        bool
        help