1. 17 2月, 2009 2 次提交
  2. 23 1月, 2009 1 次提交
  3. 12 1月, 2009 1 次提交
  4. 07 1月, 2009 1 次提交
    • L
      x86: fix section mismatch warnings in mcheck/mce_amd_64.c · 51d7a139
      Leonardo Potenza 提交于
      Mark the function local_allocate_threshold_blocks() with __cpuinit,
      in order to remove the following section mismatch messages:
      
      WARNING: arch/x86/kernel/cpu/mcheck/built-in.o(.text+0x1363): Section mismatch in reference from the function local_allocate_threshold_blocks() to the function .cpuinit.text:allocate_threshold_blocks()
      The function local_allocate_threshold_blocks() references
      the function __cpuinit allocate_threshold_blocks().
      This is often because local_allocate_threshold_blocks lacks a __cpuinit
      annotation or the annotation of allocate_threshold_blocks is wrong.
      
      WARNING: arch/x86/kernel/cpu/built-in.o(.text+0x1def): Section mismatch in reference from the function local_allocate_threshold_blocks() to the function .cpuinit.text:allocate_threshold_blocks()
      The function local_allocate_threshold_blocks() references
      the function __cpuinit allocate_threshold_blocks().
      This is often because local_allocate_threshold_blocks lacks a __cpuinit
      annotation or the annotation of allocate_threshold_blocks is wrong.
      
      WARNING: arch/x86/kernel/built-in.o(.text+0xef2b): Section mismatch in reference from the function local_allocate_threshold_blocks() to the function .cpuinit.text:allocate_threshold_blocks()
      The function local_allocate_threshold_blocks() references
      the function __cpuinit allocate_threshold_blocks().
      This is often because local_allocate_threshold_blocks lacks a __cpuinit
      annotation or the annotation of allocate_threshold_blocks is wrong.
      
      All the callsites of this function are __cpuinit already, and all the
      functions it calls are __cpuinit as well.
      Signed-off-by: NLeonardo Potenza <lpotenza@inwind.it>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      51d7a139
  5. 05 1月, 2009 1 次提交
  6. 17 12月, 2008 3 次提交
  7. 21 10月, 2008 1 次提交
  8. 07 9月, 2008 1 次提交
  9. 23 8月, 2008 1 次提交
    • R
      x86 MCE: Fix CPU hotplug problem with multiple multicore AMD CPUs · 8735728e
      Rafael J. Wysocki 提交于
      During CPU hot-remove the sysfs directory created by
      threshold_create_bank(), defined in
      arch/x86/kernel/cpu/mcheck/mce_amd_64.c, has to be removed before
      its parent directory, created by mce_create_device(), defined in
      arch/x86/kernel/cpu/mcheck/mce_64.c .  Moreover, when the CPU in
      question is hotplugged again, obviously the latter has to be created
      before the former.  At present, the right ordering is not enforced,
      because all of these operations are carried out by CPU hotplug
      notifiers which are not appropriately ordered with respect to each
      other.  This leads to serious problems on systems with two or more
      multicore AMD CPUs, among other things during suspend and hibernation.
      
      Fix the problem by placing threshold bank CPU hotplug callbacks in
      mce_cpu_callback(), so that they are invoked at the right places,
      if defined.  Additionally, use kobject_del() to remove the sysfs
      directory associated with the kobject created by
      kobject_create_and_add() in threshold_create_bank(), to prevent the
      kernel from crashing during CPU hotplug operations on systems with
      two or more multicore AMD CPUs.
      
      This patch fixes bug #11337.
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: NAndi Kleen <andi@firstfloor.org>
      Tested-by: NMark Langsdorf <mark.langsdorf@amd.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      8735728e
  10. 22 7月, 2008 2 次提交
  11. 20 7月, 2008 1 次提交
  12. 18 7月, 2008 1 次提交
    • M
      x86: APIC: remove apic_write_around(); use alternatives · 593f4a78
      Maciej W. Rozycki 提交于
      Use alternatives to select the workaround for the 11AP Pentium erratum
      for the affected steppings on the fly rather than build time.  Remove the
      X86_GOOD_APIC configuration option and replace all the calls to
      apic_write_around() with plain apic_write(), protecting accesses to the
      ESR as appropriate due to the 3AP Pentium erratum.  Remove
      apic_read_around() and all its invocations altogether as not needed.
      Remove apic_write_atomic() and all its implementing backends.  The use of
      ASM_OUTPUT2() is not strictly needed for input constraints, but I have
      used it for readability's sake.
      
      I had the feeling no one else was brave enough to do it, so I went ahead
      and here it is.  Verified by checking the generated assembly and tested
      with both a 32-bit and a 64-bit configuration, also with the 11AP
      "feature" forced on and verified with gdb on /proc/kcore to work as
      expected (as an 11AP machines are quite hard to get hands on these days).
      Some script complained about the use of "volatile", but apic_write() needs
      it for the same reason and is effectively a replacement for writel(), so I
      have disregarded it.
      
      I am not sure what the policy wrt defconfig files is, they are generated
      and there is risk of a conflict resulting from an unrelated change, so I
      have left changes to them out.  The option will get removed from them at
      the next run.
      
      Some testing with machines other than mine will be needed to avoid some
      stupid mistake, but despite its volume, the change is not really that
      intrusive, so I am fairly confident that because it works for me, it will
      everywhere.
      Signed-off-by: NMaciej W. Rozycki <macro@linux-mips.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      593f4a78
  13. 03 7月, 2008 2 次提交
  14. 26 6月, 2008 1 次提交
  15. 18 6月, 2008 3 次提交
  16. 24 5月, 2008 1 次提交
  17. 13 5月, 2008 1 次提交
    • V
      x86: remove 6 bank limitation in 64 bit MCE reporting code · 8edc5cc5
      Venki Pallipadi 提交于
      Eliminate the 6 bank restriction in 64 bit mce reporting code. This
      restriction is artificial (due to static creation of sysfs files) and 32
      bit code does not have any such restriction.
      
      This change helps in reporting the details of machine checks on a
      machine check exception with errors in bank 6 and above on CPUs that
      support those banks. Without the patch, machine check errors in those
      banks are not reported.
      
      We still have 128 (MCE_EXTENDED_BANK) bank restriction instead of max
      256 supported in hardware. That is not changed in the patch below as it
      will have some user level mcelog utility dependency, with bank 128 being
      used for thermal reporting currently.
      
      The patch below does not create sysfs control (bankNctl) for banks
      higher than 6 as well. That needs some pre-cleanup in /sysfs mce layout,
      removal of per cpu /sysfs entries for bankctl as they are really global
      system level control today. That change will follow. This basic change
      is critical to report the detailed errors on banks higher than 6.
      Signed-off-by: NVenkatesh Pallipadi <venkatesh.pallipadi@intel.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      8edc5cc5
  18. 26 4月, 2008 1 次提交
    • J
      x86-64: extend MCE CPU quirk handling · 911f6a7b
      Jan Beulich 提交于
      At least on my Barcelona, I see MCE log entries after cold boot caused
      by BIOS not properly clearing the respective registers. Therefore, this
      patch extends the workaround to families 0x10 and 0x11 (the latter just
      for completeness, I have nothing to verify this against).
      At the same time, provide a way to make these entries visible via the
      'mce=bootlog' command line option even on these machines.
      Signed-off-by: NJan Beulich <jbeulich@novell.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      911f6a7b
  19. 20 4月, 2008 2 次提交
  20. 17 4月, 2008 5 次提交
  21. 10 2月, 2008 1 次提交
  22. 30 1月, 2008 7 次提交
    • Y
      x86: fix recursion in arch/x86/kernel/cpu/mcheck/mce_amd_64.c · 5a96f4a5
      Yinghai Lu 提交于
      remove the recursion from this function.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      5a96f4a5
    • S
      x86: fix section mismatch warning in mcheck/mce_amd_64.c · b48ed48a
      Sam Ravnborg 提交于
      Fix following warning:
      WARNING: arch/x86/kernel/cpu/mcheck/built-in.o(.text+0x1584): Section mismatch: reference to .cpuinit.text:threshold_create_device in 'threshold_cpu_callback'
      
      threshold_cpu_callback() is only used by threshold_cpu_notifier.
      threshold_cpu_notifier is only used for cpu hot plug as it is registered
      using register_hotcpu_notifier().
      
      Mark them both __cpuinit to fix the warning.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      b48ed48a
    • S
      x86: fix section mismatch warning in mcheck/mce_64.c · 1e35669d
      Sam Ravnborg 提交于
      Fix following warning:
      WARNING: arch/x86/kernel/cpu/mcheck/built-in.o(.text+0x752): Section mismatch: reference to .cpuinit.text:mce_create_device in 'mce_cpu_callback'
      
      mce_cpu_callback() is only used by mce_cpu_notofier.
      The notifier is only used for hotplugable cpu's as it is
      registered using register_hotcpu_notifier(),
      
      Annotate them both __cpuinit to fix the warning.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      1e35669d
    • N
      x86: change x86 machine check handler to use unlocked_ioctl instead · c68461b6
      Nikanth Karthikesan 提交于
      The machine check handler registers ioctl handler that is called
      with the BKL held. Changing to register unlocked_ioctl instead.
      Also mce ioctl handler does not seem to need any lock protection.
      
      To: Andi Kleen <andi@firstfloor.org>
      Cc: linux-kernel@vger.kernel.org
      Cc: kernel-janitors@vger.kernel.org
      
      Change the Machine check handler to use unlocked_ioctl instead of
      ioctl handler. Also the mce ioctl handler does not need any lock
      protection.
      Signed-off-by: NNikanth Karthikesan <knikanth@suse.de>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      c68461b6
    • A
      x86: arch/x86/kernel/cpu/mcheck/k7.c checkpatch fixes · 72713393
      Andrew Morton 提交于
      #88: FILE: arch/x86/kernel/cpu/mcheck/k7.c:34:
      +		rdmsr(MSR_IA32_MC0_STATUS+i*4,low, high);
       		                             ^
      
      ERROR: need space after that ',' (ctx:VxV)
      #142: FILE: arch/x86/kernel/cpu/mcheck/p4.c:170:
      +		rdmsr(MSR_IA32_MC0_STATUS+i*4,low, high);
       		                             ^
      
      ERROR: need space after that ',' (ctx:VxV)
      #180: FILE: arch/x86/kernel/cpu/mcheck/p6.c:34:
      +		rdmsr(MSR_IA32_MC0_STATUS+i*4,low, high);
       		                             ^
      
      total: 3 errors, 0 warnings, 114 lines checked
      
      Your patch has style problems, please review.  If any of these errors
      are false positives report them to the maintainer, see
      CHECKPATCH in MAINTAINERS.
      
      Please run checkpatch prior to sending patches
      
      Cc: Min Zhang <mzhang@mvista.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      72713393
    • A
      x86: arch/x86/kernel/cpu/mcheck/ checkpatch fixes · b912a1c7
      Andrew Morton 提交于
      #40: FILE: arch/x86/kernel/cpu/mcheck/k7.c:46:
      +				snprintf (misc, 20, "[%08x%08x]", ahigh, alow);
      
      WARNING: line over 80 characters
      #45: FILE: arch/x86/kernel/cpu/mcheck/k7.c:50:
      +				snprintf (addr, 24, " at %08x%08x", ahigh, alow);
      
      WARNING: no space between function name and open parenthesis '('
      #45: FILE: arch/x86/kernel/cpu/mcheck/k7.c:50:
      +				snprintf (addr, 24, " at %08x%08x", ahigh, alow);
      
      WARNING: no space between function name and open parenthesis '('
      #48: FILE: arch/x86/kernel/cpu/mcheck/k7.c:52:
      +			printk (KERN_EMERG "CPU %d: Bank %d: %08x%08x%s%s\n",
      
      WARNING: no space between function name and open parenthesis '('
      #65: FILE: arch/x86/kernel/cpu/mcheck/p4.c:161:
      +		printk (KERN_DEBUG "CPU %d: EIP: %08x EFLAGS: %08x\n"
      
      WARNING: no space between function name and open parenthesis '('
      #88: FILE: arch/x86/kernel/cpu/mcheck/p4.c:182:
      +				snprintf (misc, 20, "[%08x%08x]", ahigh, alow);
      
      WARNING: line over 80 characters
      #93: FILE: arch/x86/kernel/cpu/mcheck/p4.c:186:
      +				snprintf (addr, 24, " at %08x%08x", ahigh, alow);
      
      WARNING: no space between function name and open parenthesis '('
      #93: FILE: arch/x86/kernel/cpu/mcheck/p4.c:186:
      +				snprintf (addr, 24, " at %08x%08x", ahigh, alow);
      
      WARNING: no space between function name and open parenthesis '('
      #96: FILE: arch/x86/kernel/cpu/mcheck/p4.c:188:
      +			printk (KERN_EMERG "CPU %d: Bank %d: %08x%08x%s%s\n",
      
      WARNING: no space between function name and open parenthesis '('
      #120: FILE: arch/x86/kernel/cpu/mcheck/p6.c:46:
      +				snprintf (misc, 20, "[%08x%08x]", ahigh, alow);
      
      WARNING: line over 80 characters
      #125: FILE: arch/x86/kernel/cpu/mcheck/p6.c:50:
      +				snprintf (addr, 24, " at %08x%08x", ahigh, alow);
      
      WARNING: no space between function name and open parenthesis '('
      #125: FILE: arch/x86/kernel/cpu/mcheck/p6.c:50:
      +				snprintf (addr, 24, " at %08x%08x", ahigh, alow);
      
      WARNING: no space between function name and open parenthesis '('
      #128: FILE: arch/x86/kernel/cpu/mcheck/p6.c:52:
      +			printk (KERN_EMERG "CPU %d: Bank %d: %08x%08x%s%s\n",
      
      total: 0 errors, 13 warnings, 100 lines checked
      
      Your patch has style problems, please review.  If any of these errors
      are false positives report them to the maintainer, see
      CHECKPATCH in MAINTAINERS.
      
      Please run checkpatch prior to sending patches
      
      Cc: Min Zhang <mzhang@mvista.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      b912a1c7
    • M
      arch/x86/kernel/cpu/mcheck/p4.c: cleanups · 9e8b6d90
      Min Zhang 提交于
      SMP, the machine check exception dispatches all logical processors within a
      physical package to the machine-check exception handler, so the printk
      within each handler outputs concurrently and makes the output unreadable.
      Refer to Intel system programming guide Part 1 Section 7.8.5
      http://developer.intel.com/design/processor/manuals/253668.pdfSigned-off-by: NMin Zhang <mzhang@mvista.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      9e8b6d90