1. 11 11月, 2016 1 次提交
    • B
      x86/MCE: Correct TSC timestamping of error records · 54467353
      Borislav Petkov 提交于
      We did have logic in the MCE code which would TSC-timestamp an error
      record only when it is exact - i.e., when it wasn't detected by polling.
      This isn't the case anymore. So let's fix that:
      
      We have a valid TSC timestamp in the error record only when it has been
      a precise detection, i.e., either in the #MC handler or in one of the
      interrupt handlers (thresholding, deferred, ...).
      
      All other error records still have mce.time which contains the wall
      time in order to be able to place the error record in time at least
      approximately.
      
      Also, this fixes another bug where machine_check_poll() would clear
      mce.tsc unconditionally even if we requested precise MCP_TIMESTAMP
      logging.
      
      The proper fix would be to generate timestamp only when it has been
      requested and not always. But that would require a more thorough code
      audit of all mce_gather_info/mce_setup() users. Add a FIXME for now.
      Signed-off-by: NBorislav Petkov <bp@suse.de>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Tony <tony.luck@intel.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: kernel test robot <xiaolong.ye@intel.com>
      Cc: linux-edac <linux-edac@vger.kernel.org>
      Cc: lkp@01.org
      Link: http://lkml.kernel.org/r/20161110131053.kybsijfs5venpjnf@pd.tnicSigned-off-by: NIngo Molnar <mingo@kernel.org>
      54467353
  2. 09 11月, 2016 7 次提交
  3. 04 11月, 2016 17 次提交
  4. 03 11月, 2016 8 次提交
  5. 30 10月, 2016 1 次提交
  6. 29 10月, 2016 6 次提交
    • T
      x86/smpboot: Init apic mapping before usage · 1e90a13d
      Thomas Gleixner 提交于
      The recent changes, which forced the registration of the boot cpu on UP
      systems, which do not have ACPI tables, have been fixed for systems w/o
      local APIC, but left a wreckage for systems which have neither ACPI nor
      mptables, but the CPU has an APIC, e.g. virtualbox.
      
      The boot process crashes in prefill_possible_map() as it wants to register
      the boot cpu, which needs to access the local apic, but the local APIC is
      not yet mapped.
      
      There is no reason why init_apic_mapping() can't be invoked before
      prefill_possible_map(). So instead of playing another silly early mapping
      game, as the ACPI/mptables code does, we just move init_apic_mapping()
      before the call to prefill_possible_map().
      
      In hindsight, I should have noticed that combination earlier.
      
      Sorry for the churn (also in stable)!
      
      Fixes: ff856051 ("x86/boot/smp: Don't try to poke disabled/non-existent APIC")
      Reported-and-debugged-by: NMichal Necasek <michal.necasek@oracle.com>
      Reported-and-tested-by: NWolfgang Bauer <wbauer@tmo.at>
      Cc: prarit@redhat.com
      Cc: ville.syrjala@linux.intel.com
      Cc: michael.thayer@oracle.com
      Cc: knut.osmundsen@oracle.com
      Cc: frank.mehnert@oracle.com
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: stable@vger.kernel.org
      Link: http://lkml.kernel.org/r/alpine.DEB.2.20.1610282114380.5053@nanosSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      1e90a13d
    • V
      ARC: module: print pretty section names · b75dcd9c
      Vineet Gupta 提交于
      Now that we have referece to section name string table in
      apply_relocate_add(), use it to
      
       - print the name of section being relocated
       - print symbol with NULL name (since it refers to a section)
      
      before
      
      | Section to fixup 7000a060
      | =========================================================
      | rela->r_off | rela->addend | sym->st_value | ADDR | VALUE
      | =========================================================
      |	1c		0		7000e000  7000a07c 7000e000 []
      |	40		0		7000a000  7000a0a0 7000a000 []
      
      after
      
      | Section to fixup .eh_frame @7000a060
      | =========================================================
      | r_off	r_add	st_value ADDRESS  VALUE
      | =========================================================
      |    1c	0	7000e000 7000a07c 7000e000 [.init.text]
      |    40	0	7000a000 7000a0a0 7000a000 [.exit.text]
      Signed-off-by: NVineet Gupta <vgupta@synopsys.com>
      b75dcd9c
    • V
      ARC: module: elide loop to save reference to .eh_frame · d65283f7
      Vineet Gupta 提交于
      The loop was really needed in .debug_frame regime where wanted make it
      as SH_ALLOC so that apply_relocate_add() would process it. That's not
      needed for .eh_frame, so we check this in apply_relocate_add() which
      gets called for each section.
      
      Note that we need to save reference to "section name strings" section in
      module_frob_arch_sections() since apply_relocate_add() doesn't get that
      Signed-off-by: NVineet Gupta <vgupta@synopsys.com>
      d65283f7
    • V
      ARC: mm: retire ARC_DBG_TLB_MISS_COUNT... · f644e368
      Vineet Gupta 提交于
      ... given that we have perf counters abel to do the same thing non
      intrusively
      Signed-off-by: NVineet Gupta <vgupta@synopsys.com>
      f644e368
    • V
      ARC: build: retire old toggles · c3005475
      Vineet Gupta 提交于
      These are really ancient toggles and tools no longer require them to be
      passed. This paves way for deprecating them in long run.
      Signed-off-by: NVineet Gupta <vgupta@synopsys.com>
      c3005475
    • V
      ARC: boot log: refactor cpu name/release printing · d975cbc8
      Vineet Gupta 提交于
      The motivation is to identify ARC750 vs. ARC770 (we currently print
      generic "ARC700").
      
      A given ARC700 release could be 750 or 770, with same ARCNUM (or family
      identifier which is unfortunate). The existing arc_cpu_tbl[] kept a single
      concatenated string for core name and release which thus doesn't work
      for 750 vs. 770 identification.
      
      So split this into 2 tables, one with core names and other with release.
      And while we are at it, get rid of the range checking for family numbers.
      We just document the known to exist cores running Linux and ditch
      others.
      
      With this in place, we add detection of ARC750 which is
       - cores 0x33 and before
       - cores 0x34 and later with MMUv2
      Signed-off-by: NVineet Gupta <vgupta@synopsys.com>
      d975cbc8