1. 25 7月, 2017 1 次提交
    • Y
      x86/mce/AMD: Allow any CPU to initialize the smca_banks array · 9662d43f
      Yazen Ghannam 提交于
      Current SMCA implementations have the same banks on each CPU with the
      non-core banks only visible to a "master thread" on each die. Practically,
      this means the smca_banks array, which describes the banks, only needs to
      be populated once by a single master thread.
      
      CPU 0 seemed like a good candidate to do the populating. However, it's
      possible that CPU 0 is not enabled in which case the smca_banks array won't
      be populated.
      
      Rather than try to figure out another master thread to do the populating,
      we should just allow any CPU to populate the array.
      
      Drop the CPU 0 check and return early if the bank was already initialized.
      Also, drop the WARNing about an already initialized bank, since this will
      be a common, expected occurrence.
      
      The smca_banks array is only populated at boot time and CPUs are brought
      online sequentially. So there's no need for locking around the array.
      
      If the first CPU up is a master thread, then it will populate the array
      with all banks, core and non-core. Every CPU afterwards will return
      early. If the first CPU up is not a master thread, then it will populate
      the array with all core banks. The first CPU afterwards that is a master
      thread will skip populating the core banks and continue populating the
      non-core banks.
      Signed-off-by: NYazen Ghannam <yazen.ghannam@amd.com>
      Signed-off-by: NBorislav Petkov <bp@suse.de>
      Acked-by: NJack Miller <jack@codezen.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: linux-edac <linux-edac@vger.kernel.org>
      Link: http://lkml.kernel.org/r/20170724101228.17326-4-bp@alien8.deSigned-off-by: NIngo Molnar <mingo@kernel.org>
      9662d43f
  2. 26 6月, 2017 1 次提交
  3. 21 6月, 2017 1 次提交
  4. 14 6月, 2017 8 次提交
  5. 22 5月, 2017 4 次提交
  6. 19 4月, 2017 2 次提交
  7. 18 4月, 2017 1 次提交
  8. 14 4月, 2017 1 次提交
  9. 31 3月, 2017 1 次提交
  10. 28 3月, 2017 6 次提交
  11. 18 3月, 2017 1 次提交
  12. 14 3月, 2017 1 次提交
  13. 01 2月, 2017 1 次提交
  14. 24 1月, 2017 6 次提交
  15. 05 1月, 2017 1 次提交
    • D
      x86/irq, trace: Add __irq_entry annotation to x86's platform IRQ handlers · c4158ff5
      Daniel Bristot de Oliveira 提交于
      This patch adds the __irq_entry annotation to the default x86
      platform IRQ handlers. ftrace's function_graph tracer uses the
      __irq_entry annotation to notify the entry and return of IRQ
      handlers.
      
      For example, before the patch:
        354549.667252 |   3)  d..1              |  default_idle_call() {
        354549.667252 |   3)  d..1              |    arch_cpu_idle() {
        354549.667253 |   3)  d..1              |      default_idle() {
        354549.696886 |   3)  d..1              |        smp_trace_reschedule_interrupt() {
        354549.696886 |   3)  d..1              |          irq_enter() {
        354549.696886 |   3)  d..1              |            rcu_irq_enter() {
      
      After the patch:
        366416.254476 |   3)  d..1              |    arch_cpu_idle() {
        366416.254476 |   3)  d..1              |      default_idle() {
        366416.261566 |   3)  d..1  ==========> |
        366416.261566 |   3)  d..1              |        smp_trace_reschedule_interrupt() {
        366416.261566 |   3)  d..1              |          irq_enter() {
        366416.261566 |   3)  d..1              |            rcu_irq_enter() {
      
      KASAN also uses this annotation. The smp_apic_timer_interrupt()
      was already annotated.
      Signed-off-by: NDaniel Bristot de Oliveira <bristot@redhat.com>
      Acked-by: NSteven Rostedt (VMware) <rostedt@goodmis.org>
      Cc: Aaron Lu <aaron.lu@intel.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Baoquan He <bhe@redhat.com>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Claudio Fontana <claudio.fontana@huawei.com>
      Cc: Denys Vlasenko <dvlasenk@redhat.com>
      Cc: Dou Liyang <douly.fnst@cn.fujitsu.com>
      Cc: Gu Zheng <guz.fnst@cn.fujitsu.com>
      Cc: Hidehiro Kawai <hidehiro.kawai.ez@hitachi.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Nicolai Stange <nicstange@gmail.com>
      Cc: Peter Zijlstra (Intel) <peterz@infradead.org>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Wanpeng Li <wanpeng.li@hotmail.com>
      Cc: linux-edac@vger.kernel.org
      Link: http://lkml.kernel.org/r/059fdf437c2f0c09b13c18c8fe4e69999d3ffe69.1483528431.git.bristot@redhat.comSigned-off-by: NIngo Molnar <mingo@kernel.org>
      c4158ff5
  16. 27 12月, 2016 1 次提交
  17. 25 12月, 2016 1 次提交
  18. 10 12月, 2016 1 次提交
  19. 23 11月, 2016 1 次提交