• Dave Hansen's avatar
    x86/fpu: Add placeholder for 'Processor Trace' XSAVE state · 1f96b1ef
    Dave Hansen authored
    There is an XSAVE state component for Intel Processor Trace (PT).
    But, we do not currently use it.
    
    We add a placeholder in the code for it so it is not a mystery and
    also so we do not need an explicit enum initialization for Protection
    Keys in a moment.
    
    Why don't we use it?
    
    We might end up using this at _some_ point in the future.  But,
    this is a "system" state which requires using the currently
    unsupported XSAVES feature.  Unlike all the other XSAVE states,
    PT state is also not directly tied to a thread.  You might
    context-switch between threads, but not want to change any of the
    PT state.  Or, you might switch between threads, and *do* want to
    change PT state, all depending on what is being traced.
    
    We currently just manually set some MSRs to do this PT context
    switching, and it is unclear whether replacing our direct MSR use
    with XSAVE will be a net win or loss, both in code complexity and
    performance.
    Signed-off-by: default avatarDave Hansen <dave.hansen@linux.intel.com>
    Reviewed-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Andy Lutomirski <luto@amacapital.net>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Brian Gerst <brgerst@gmail.com>
    Cc: Dave Hansen <dave@sr71.net>
    Cc: Denys Vlasenko <dvlasenk@redhat.com>
    Cc: H. Peter Anvin <hpa@zytor.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Rik van Riel <riel@redhat.com>
    Cc: fenghua.yu@intel.com
    Cc: linux-mm@kvack.org
    Cc: yu-cheng.yu@intel.com
    Link: http://lkml.kernel.org/r/20160212210158.5E4BCAE2@viggo.jf.intel.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    1f96b1ef
xstate.c 20.3 KB