• Hugh Dickins's avatar
    x86/events/intel/ds: Map debug buffers in cpu_entry_area · c1961a46
    Hugh Dickins authored
    The BTS and PEBS buffers both have their virtual addresses programmed into
    the hardware.  This means that any access to them is performed via the page
    tables.  The times that the hardware accesses these are entirely dependent
    on how the performance monitoring hardware events are set up.  In other
    words, there is no way for the kernel to tell when the hardware might
    access these buffers.
    
    To avoid perf crashes, place 'debug_store' allocate pages and map them into
    the cpu_entry_area.
    
    The PEBS fixup buffer does not need this treatment.
    
    [ tglx: Got rid of the kaiser_add_mapping() complication ]
    Signed-off-by: default avatarHugh Dickins <hughd@google.com>
    Signed-off-by: default avatarDave Hansen <dave.hansen@linux.intel.com>
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Brian Gerst <brgerst@gmail.com>
    Cc: David Laight <David.Laight@aculab.com>
    Cc: Denys Vlasenko <dvlasenk@redhat.com>
    Cc: Eduardo Valentin <eduval@amazon.com>
    Cc: Greg KH <gregkh@linuxfoundation.org>
    Cc: H. Peter Anvin <hpa@zytor.com>
    Cc: Josh Poimboeuf <jpoimboe@redhat.com>
    Cc: Juergen Gross <jgross@suse.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Will Deacon <will.deacon@arm.com>
    Cc: aliguori@amazon.com
    Cc: daniel.gruss@iaik.tugraz.at
    Cc: keescook@google.com
    Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
    c1961a46
ds.c 42 KB