1. 13 3月, 2009 1 次提交
    • Y
      x86: more MTRR debug printouts · 8ad97905
      Yinghai Lu 提交于
      Impact: improve MTRR debugging messages
      
      There's still inefficiencies suspected with the MTRR sanitizing
      code, so make sure we get all the info we need from a dmesg.
      
      - Remove unneeded mtrr_show
      
       (It will only printout one time by first cpu, so it is no big deal.)
      
      - Also print out directly from get_mtrr, because it doesn't update mtrr_state.
      Signed-off-by: NYinghai Lu <yinghai@kernel.org>
      LKML-Reference: <49B9BA5A.40108@kernel.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      8ad97905
  2. 11 3月, 2009 3 次提交
  3. 10 3月, 2009 2 次提交
    • S
      x86: BUG to BUG_ON changes · 8c5dfd25
      Stoyan Gaydarov 提交于
      Impact: cleanup
      Signed-off-by: NStoyan Gaydarov <stoyboyker@gmail.com>
      LKML-Reference: <1236661850-8237-8-git-send-email-stoyboyker@gmail.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      8c5dfd25
    • D
      Revert "[CPUFREQ] Disable sysfs ui for p4-clockmod." · 129f8ae9
      Dave Jones 提交于
      This reverts commit e088e4c9.
      
      Removing the sysfs interface for p4-clockmod was flagged as a
      regression in bug 12826.
      
      Course of action:
       - Find out the remaining causes of overheating, and fix them
         if possible. ACPI should be doing the right thing automatically.
         If it isn't, we need to fix that.
       - mark p4-clockmod ui as deprecated
       - try again with the removal in six months.
      
      It's not really feasible to printk about the deprecation, because
      it needs to happen at all the sysfs entry points, which means adding
      a lot of strcmp("p4-clockmod".. calls to the core, which.. bleuch.
      Signed-off-by: NDave Jones <davej@redhat.com>
      129f8ae9
  4. 08 3月, 2009 1 次提交
  5. 04 3月, 2009 1 次提交
  6. 01 3月, 2009 1 次提交
  7. 25 2月, 2009 7 次提交
    • H
      x86, mce, cmci: remove incorrect __cpuinit/__cpuexit annotations · df20e2eb
      H. Peter Anvin 提交于
      Impact: Bug fix on UP
      
      The MCE code is reinitialized from resume, so we can't use
      __cpuinit/__cpuexit for most of the code.  Remove those annotations
      for anything downstream of mce_init().
      Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
      df20e2eb
    • A
      x86, mce, cmci: add CMCI support · 88ccbedd
      Andi Kleen 提交于
      Impact: Major new feature
      
      Intel CMCI (Corrected Machine Check Interrupt) is a new
      feature on Nehalem CPUs. It allows the CPU to trigger
      interrupts on corrected events, which allows faster
      reaction to them instead of with the traditional
      polling timer.
      
      Also use CMCI to discover shared banks. Machine check banks
      can be shared by CPU threads or even cores. Using the CMCI enable
      bit it is possible to detect the fact that another CPU already
      saw a specific bank. Use this to assign shared banks only
      to one CPU to avoid reporting duplicated events.
      
      On CPU hot unplug bank sharing is re discovered. This is done
      using a thread that cycles through all the CPUs.
      
      To avoid races between the poller and CMCI we only poll
      for banks that are not CMCI capable and only check CMCI
      owned banks on a interrupt.
      
      The shared banks ownership information is currently only used for
      CMCI interrupts, not polled banks.
      
      The sharing discovery code follows the algorithm recommended in the
      IA32 SDM Vol3a 14.5.2.1
      
      The CMCI interrupt handler just calls the machine check poller to
      pick up the machine check event that caused the interrupt.
      
      I decided not to implement a separate threshold event like
      the AMD version has, because the threshold is always one currently
      and adding another event didn't seem to add any value.
      
      Some code inspired by Yunhong Jiang's Xen implementation,
      which was in term inspired by a earlier CMCI implementation
      by me.
      Signed-off-by: NAndi Kleen <ak@linux.intel.com>
      Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
      88ccbedd
    • A
      x86, mce, cmci: use polled banks bitmap in machine check poller · ee031c31
      Andi Kleen 提交于
      Define a per cpu bitmap that contains the banks polled by the machine
      check poller. This is needed for the CMCI code in the next patches
      to be able to disable polling on specific banks.
      
      The bank by default contains all banks, so there is no behaviour
      change. Only future code will remove some banks from the polling
      set.
      Signed-off-by: NAndi Kleen <ak@linux.intel.com>
      Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
      ee031c31
    • A
      x86, mce: replace machine check events logged interval with ratelimit · 8457c84d
      Andi Kleen 提交于
      Impact: behavior change, use common code
      
      Use a standard leaky bucket ratelimit for the machine check
      warning print interval instead of waiting every check_interval.
      Also decrease the limit to twice per minute.
      This interacts better with threshold interrupts because
      they can happen more often than check_interval.
      Signed-off-by: NAndi Kleen <ak@linux.intel.com>
      Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
      8457c84d
    • A
      x86, mce, cmci: avoid potential reentry of threshold interrupt · f9695df4
      Andi Kleen 提交于
      Impact: minor bugfix
      
      The threshold handler on AMD (and soon on Intel) could be theoretically
      reentered by the hardware. This could lead to corrupted events
      because the machine check poll code assumes it is not reentered.
      
      Move the APIC ACK to the end of the interrupt handler to let
      the hardware avoid that.
      Signed-off-by: NAndi Kleen <ak@linux.intel.com>
      Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
      f9695df4
    • A
      x86, mce, cmci: factor out threshold interrupt handler · b2762686
      Andi Kleen 提交于
      Impact: cleanup; preparation for feature
      
      The mce_amd_64 code has an own private MC threshold vector with an own
      interrupt handler. Since Intel needs a similar handler
      it makes sense to share the vector because both can not
      be active at the same time.
      
      I factored the common APIC handler code into a separate file which can
      be used by both the Intel or AMD MC code.
      
      This is needed for the next patch which adds an Intel specific
      CMCI handler.
      
      This patch should be a nop for AMD, it just moves some code
      around.
      Signed-off-by: NAndi Kleen <ak@linux.intel.com>
      Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
      b2762686
    • A
      x86, mce, cmci: export MAX_NR_BANKS · 41fdff32
      Andi Kleen 提交于
      Impact: Cleanup (code movement)
      
      Move MAX_NR_BANKS into mce.h because it's needed there
      for followup patches.
      Signed-off-by: NAndi Kleen <ak@linux.intel.com>
      Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
      41fdff32
  8. 24 2月, 2009 1 次提交
  9. 21 2月, 2009 1 次提交
    • H
      x86, mce: remove incorrect __cpuinit for mce_cpu_features() · cc3ca220
      H. Peter Anvin 提交于
      Impact: Bug fix on UP
      
      Checkin 6ec68bff:
          x86, mce: reinitialize per cpu features on resume
      
      introduced a call to mce_cpu_features() in the resume path, in order
      for the MCE machinery to get properly reinitialized after a resume.
      However, this function (and its successors) was flagged __cpuinit,
      which becomes __init on UP configurations (on SMP suspend/resume
      requires CPU hotplug and so this would not be seen.)
      
      Remove the offending __cpuinit annotations for mce_cpu_features() and
      its successor functions.
      
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
      cc3ca220
  10. 20 2月, 2009 6 次提交
  11. 18 2月, 2009 11 次提交
  12. 17 2月, 2009 3 次提交
  13. 16 2月, 2009 1 次提交
  14. 15 2月, 2009 1 次提交
    • Y
      x86: fix typo in filter_cpuid_features() · f6db44df
      Yinghai Lu 提交于
      Impact: fix wrong disabling of cpu features
      
      an amd system got this strange output:
      
       CPU: CPU feature monitor disabled due to lack of CPUID level 0x5
      
      but in /proc/cpuinfo I have:
      
       cpuid level	: 5
      
      on intel system:
      
       CPU: CPU feature monitor disabled due to lack of CPUID level 0x5
       CPU: CPU feature dca disabled due to lack of CPUID level 0x9
      
      but in /proc/cpuinfo i have:
      
       cpuid level     : 11
      
      Tt turns out there is a typo, and we should use level member in df.
      Signed-off-by: NYinghai Lu <yinghai@kernel.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      f6db44df