1. 09 5月, 2015 15 次提交
  2. 08 5月, 2015 2 次提交
    • M
      perf_event: Don't allow vmalloc() backed perf on powerpc · cb307113
      Michael Ellerman 提交于
      On powerpc the perf event interrupt is not masked when interrupts are
      disabled, allowing it to function as an NMI.
      
      This causes problems if perf is using vmalloc. If we take a page fault
      on the vmalloc region the fault handler will fail the page fault because
      it detects we are coming in from an NMI (see do_hash_page()).
      
      We don't actually need or want vmalloc backed perf so just disable it on
      powerpc.
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      Signed-off-by: NPeter Zijlstra (Intel) <peterz@infradead.org>
      Cc: <linuxppc-dev@ozlabs.org>
      Cc: Andrew Morton <akpm@osdl.org>
      Cc: Anton Blanchard <anton@samba.org>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: acme@ghostprotocols.net
      Cc: sukadev@linux.vnet.ibm.com
      Link: http://lkml.kernel.org/r/1430720799-18426-1-git-send-email-mpe@ellerman.id.auSigned-off-by: NIngo Molnar <mingo@kernel.org>
      cb307113
    • P
      perf: Fix software migrate events · ff303e66
      Peter Zijlstra 提交于
      Stephane asked about PERF_COUNT_SW_CPU_MIGRATIONS and I realized it
      was borken:
      
       > The problem is that the task isn't actually scheduled while its being
       > migrated (obviously), and if its not scheduled, the counters aren't
       > scheduled either, so there's no observing of the fact.
       >
       > A further problem with migrations is that many migrations happen from
       > softirq context, which is nested inside the 'random' task context of
       > whoemever happens to run at that time, similarly for the wakeup
       > migrations triggered from (soft)irq context. All those end up being
       > accounted in the task that's currently running, eg. your 'ls'.
      
      The below cures this by marking a task as migrated and accounting it
      on the subsequent sched_in().
      Signed-off-by: NPeter Zijlstra (Intel) <peterz@infradead.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NIngo Molnar <mingo@kernel.org>
      ff303e66
  3. 06 5月, 2015 23 次提交