• Peter Zijlstra's avatar
    perf_event, x86: Fix 'perf sched record' crashing the machine · 7d428966
    Peter Zijlstra authored
    Chris Malley reported that 'perf sched record' sometimes
    crashes his box with:
    
    [  389.272175] BUG: unable to handle kernel paging request at ffffb300
    [  389.272294] IP: [<c011b0bd>] default_send_IPI_self+0x1d/0x50
    [  389.272366] *pde = 0073f067 *pte = 00000000
    [  389.274708] Call Trace:
    [  389.274752]  [<c010e3b4>] ?  set_perf_event_pending+0x14/0x20
    [  389.274801]  [<c01b9751>] ?  perf_output_unlock+0x121/0x1a0
    [  389.274848]  [<c01b981a>] ? perf_output_end+0x4a/0x70
    [  389.274893]  [<c01ba690>] ?  __perf_event_overflow+0x240/0x2f0
    [  389.274942]  [<c030963e>] ? atomic64_cmpxchg+0x1e/0x30
    [  389.274988]  [<c01ba8f4>] ?  perf_swevent_ctx_event+0x1b4/0x1c0
    [  389.275035]  [<c01ba773>] ?  perf_swevent_ctx_event+0x33/0x1c0
    [  389.275081]  [<c01ba9a7>] ? do_perf_sw_event+0xa7/0x160
    [  389.275127]  [<c01baae2>] ? perf_tp_event+0x82/0xa0
    [  389.275174]  [<c012e9c6>] ?  ftrace_profile_sched_stat_runtime+0xe6/0x120
    [  389.275224]  [<c012e8e0>] ?  ftrace_profile_sched_stat_runtime+0x0/0x120
    [  389.275273]  [<c013c85a>] ? update_curr+0x18a/0x230
    [  389.275318]  [<c013cdc5>] ?  put_prev_task_fair+0x155/0x160
    [  389.275366]  [<c01618b5>] ? sched_clock_cpu+0xd5/0x110
    [  389.275413]  [<c04e7525>] ? _spin_lock_irq+0x45/0x50
    [  389.275458]  [<c04e424e>] ? schedule+0x20e/0xb10
    
    The problem is that the box has no lapic enabled:
    
      [    0.042445] Local APIC not detected. Using dummy APIC emulation.
    
    The below seems like the best fix. We disabled all lapic bits, except
    the self-IPI-resend logic.
    Reported-by: default avatarChris Malley <mail@chrismalley.co.uk>
    Signed-off-by: default avatarPeter Zijlstra <peterz@infradead.org>
    Cc: Cyrill Gorcunov <gorcunov@gmail.com>
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    LKML-Reference: <7863dc4c0909221409v7893bfd3o4b590d5951a233ba@mail.gmail.com>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    7d428966
Name
Last commit
Last update
..
alpha Loading commit data...
arm Loading commit data...
avr32 Loading commit data...
blackfin Loading commit data...
cris Loading commit data...
frv Loading commit data...
h8300 Loading commit data...
ia64 Loading commit data...
m32r Loading commit data...
m68k Loading commit data...
m68knommu Loading commit data...
microblaze Loading commit data...
mips Loading commit data...
mn10300 Loading commit data...
parisc Loading commit data...
powerpc Loading commit data...
s390 Loading commit data...
score Loading commit data...
sh Loading commit data...
sparc Loading commit data...
um Loading commit data...
x86 Loading commit data...
xtensa Loading commit data...
.gitignore Loading commit data...
Kconfig Loading commit data...