• Kevin Hilman's avatar
    ARM: 7688/1: add support for context tracking subsystem · b0088480
    Kevin Hilman authored
    commit 91d1aa43
     (context_tracking: New context tracking susbsystem)
    generalized parts of the RCU userspace extended quiescent state into
    the context tracking subsystem.  Context tracking is then used
    to implement adaptive tickless (a.k.a extended nohz)
    To support the new context tracking subsystem on ARM, the user/kernel
    boundary transtions need to be instrumented.
    For exceptions and IRQs in usermode, the existing usr_entry macro is
    used to instrument the user->kernel transition.  For the return to
    usermode path, the ret_to_user* path is instrumented.  Using the
    usr_entry macro, this covers interrupts in userspace, data abort and
    prefetch abort exceptions in userspace as well as undefined exceptions
    in userspace (which is where FP emulation and VFP are handled.)
    For syscalls, the slow return path is covered by instrumenting the
    ret_to_user path.  In addition, the syscall entry point is
    instrumented which covers the user->kernel transition for both fast
    and slow syscalls, and an additional instrumentation point is added
    for the fast syscall return path (ret_fast_syscall).
    Cc: Mats Liljegren <mats.liljegren@enea.com>
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    Signed-off-by: default avatarKevin Hilman <khilman@linaro.org>
    Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>